diff options
author | Nathan Fritz <fritzy@netflint.net> | 2011-08-03 23:56:24 -0700 |
---|---|---|
committer | Nathan Fritz <fritzy@netflint.net> | 2011-08-03 23:56:24 -0700 |
commit | 9ffdba8643ca8e52a30ce227331cd772a5fea6d1 (patch) | |
tree | 1c4bdf0529f326dea1ac3e071c5c82a4762f76f8 /sleekxmpp/plugins/xep_0060/stanza/base.py | |
parent | 9591cd3a7e94a663675d97b1db93c2c585d948dc (diff) | |
download | slixmpp-9ffdba8643ca8e52a30ce227331cd772a5fea6d1.tar.gz slixmpp-9ffdba8643ca8e52a30ce227331cd772a5fea6d1.tar.bz2 slixmpp-9ffdba8643ca8e52a30ce227331cd772a5fea6d1.tar.xz slixmpp-9ffdba8643ca8e52a30ce227331cd772a5fea6d1.zip |
the great xep_0060 re-organization in preperation for rewrite
Diffstat (limited to 'sleekxmpp/plugins/xep_0060/stanza/base.py')
-rw-r--r-- | sleekxmpp/plugins/xep_0060/stanza/base.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0060/stanza/base.py b/sleekxmpp/plugins/xep_0060/stanza/base.py new file mode 100644 index 00000000..9b1efe1b --- /dev/null +++ b/sleekxmpp/plugins/xep_0060/stanza/base.py @@ -0,0 +1,24 @@ +from xml.etree import cElementTree as ET + +class OptionalSetting(object): + interfaces = set(('required',)) + + def setRequired(self, value): + value = bool(value) + if value and not self['required']: + self.xml.append(ET.Element("{%s}required" % self.namespace)) + elif not value and self['required']: + self.delRequired() + + def getRequired(self): + required = self.xml.find("{%s}required" % self.namespace) + if required is not None: + return True + else: + return False + + def delRequired(self): + required = self.xml.find("{%s}required" % self.namespace) + if required is not None: + self.xml.remove(required) + |