summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0092.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/plugins/xep_0092.py')
-rw-r--r--sleekxmpp/plugins/xep_0092.py61
1 files changed, 0 insertions, 61 deletions
diff --git a/sleekxmpp/plugins/xep_0092.py b/sleekxmpp/plugins/xep_0092.py
deleted file mode 100644
index 8b5f8686..00000000
--- a/sleekxmpp/plugins/xep_0092.py
+++ /dev/null
@@ -1,61 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2010 Nathanael C. Fritz
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-from xml.etree import cElementTree as ET
-from . import base
-from .. xmlstream.handler.xmlwaiter import XMLWaiter
-
-class xep_0092(base.base_plugin):
- """
- XEP-0092 Software Version
- """
- def plugin_init(self):
- self.description = "Software Version"
- self.xep = "0092"
- self.name = self.config.get('name', 'SleekXMPP')
- self.version = self.config.get('version', '0.1-dev')
- self.os = self.config.get('os', '')
- self.xmpp.add_handler("<iq type='get' xmlns='%s'><query xmlns='jabber:iq:version' /></iq>" % self.xmpp.default_ns, self.report_version, name='Sofware Version')
-
- def post_init(self):
- base.base_plugin.post_init(self)
- self.xmpp.plugin['xep_0030'].add_feature('jabber:iq:version')
-
- def report_version(self, xml):
- iq = self.xmpp.makeIqResult(xml.get('id', 'unknown'))
- iq.attrib['to'] = xml.get('from', self.xmpp.server)
- query = ET.Element('{jabber:iq:version}query')
- name = ET.Element('name')
- name.text = self.name
- version = ET.Element('version')
- version.text = self.version
- if self.os:
- os = ET.Element('os')
- os.text = self.os
- query.append(os)
- query.append(name)
- query.append(version)
- iq.append(query)
- self.xmpp.send(iq)
-
- def getVersion(self, jid):
- iq = self.xmpp.makeIqGet()
- query = ET.Element('{jabber:iq:version}query')
- iq.append(query)
- iq.attrib['to'] = jid
- iq.attrib['from'] = self.xmpp.boundjid.full
- id = iq.get('id')
- result = iq.send()
- if result and result is not None and result.get('type', 'error') != 'error':
- qry = result.find('{jabber:iq:version}query')
- version = {}
- for child in qry.getchildren():
- version[child.tag.split('}')[-1]] = child.text
- return version
- else:
- return False
-