diff options
author | Lance Stout <lancestout@gmail.com> | 2011-09-01 14:20:58 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-09-01 14:20:58 -0700 |
commit | efa4a9b330dc477bf27d2639c60a879c3e28a00d (patch) | |
tree | 15db12053dcfde8759f0d7f8697b1b1fed4cfe2b /sleekxmpp/plugins/xep_0060/stanza/base.py | |
parent | 39ec1cff1987405213a026b1311f09e891f39fd6 (diff) | |
download | slixmpp-efa4a9b330dc477bf27d2639c60a879c3e28a00d.tar.gz slixmpp-efa4a9b330dc477bf27d2639c60a879c3e28a00d.tar.bz2 slixmpp-efa4a9b330dc477bf27d2639c60a879c3e28a00d.tar.xz slixmpp-efa4a9b330dc477bf27d2639c60a879c3e28a00d.zip |
More stanza cleanup for pubsub.
Diffstat (limited to 'sleekxmpp/plugins/xep_0060/stanza/base.py')
-rw-r--r-- | sleekxmpp/plugins/xep_0060/stanza/base.py | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/sleekxmpp/plugins/xep_0060/stanza/base.py b/sleekxmpp/plugins/xep_0060/stanza/base.py index 9b1efe1b..d0b7851e 100644 --- a/sleekxmpp/plugins/xep_0060/stanza/base.py +++ b/sleekxmpp/plugins/xep_0060/stanza/base.py @@ -1,24 +1,29 @@ -from xml.etree import cElementTree as ET +""" + SleekXMPP: The Sleek XMPP Library + Copyright (C) 2011 Nathanael C. Fritz + This file is part of SleekXMPP. + + See the file LICENSE for copying permission. +""" + +from sleekxmpp.xmlstream import 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) + interfaces = set(('required',)) + + def set_required(self, value): + if value in (True, 'true', 'True', '1'): + self.xml.append(ET.Element("{%s}required" % self.namespace)) + elif self['required']: + self.del_required() + + def get_required(self): + required = self.xml.find("{%s}required" % self.namespace) + return required is not None + + def del_required(self): + required = self.xml.find("{%s}required" % self.namespace) + if required is not None: + self.xml.remove(required) |