123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- """
- 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 sleekxmpp.thirdparty import OrderedDict
- from sleekxmpp.xmlstream import StanzaBase
- class StreamFeatures(StanzaBase):
- """
- """
- name = 'features'
- namespace = 'http://etherx.jabber.org/streams'
- interfaces = set(('features', 'required', 'optional'))
- sub_interfaces = interfaces
- plugin_tag_map = {}
- plugin_attrib_map = {}
- def setup(self, xml):
- StanzaBase.setup(self, xml)
- self.values = self.values
- def get_features(self):
- """
- """
- features = OrderedDict()
- for (name, lang), plugin in self.plugins.items():
- features[name] = plugin
- return features
- def set_features(self, value):
- """
- """
- pass
- def del_features(self):
- """
- """
- pass
- def get_required(self):
- """
- """
- features = self['features']
- return [f for n, f in features.items() if f['required']]
- def get_optional(self):
- """
- """
- features = self['features']
- return [f for n, f in features.items() if not f['required']]
|