From 68ce47c9055f3ef485fe6810797032e7a5d8c370 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Sun, 9 Jan 2011 09:52:54 +0800 Subject: Allow XEP 0092 to send os information Doesn't send these information by default, only if provided in the config dict (as the 'os' key) --- sleekxmpp/plugins/xep_0092.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sleekxmpp/plugins/xep_0092.py') diff --git a/sleekxmpp/plugins/xep_0092.py b/sleekxmpp/plugins/xep_0092.py index c9b418ff..8b5f8686 100644 --- a/sleekxmpp/plugins/xep_0092.py +++ b/sleekxmpp/plugins/xep_0092.py @@ -18,6 +18,7 @@ class xep_0092(base.base_plugin): 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("" % self.xmpp.default_ns, self.report_version, name='Sofware Version') def post_init(self): @@ -32,6 +33,10 @@ class xep_0092(base.base_plugin): 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) -- cgit v1.2.3 From 2076d506b469b932fc330743f2e56e76f52a045b Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Sat, 8 Jan 2011 22:38:13 -0500 Subject: Update the XEP-0092 plugin to the new style. --- sleekxmpp/plugins/xep_0092.py | 61 ------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 sleekxmpp/plugins/xep_0092.py (limited to 'sleekxmpp/plugins/xep_0092.py') 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("" % 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 - -- cgit v1.2.3