示例#1
0
 def __init__(self,
              status=None,
              nick=None,
              jid=None,
              affiliation=None,
              role=None,
              reason=None,
              actor=None,
              node=None):
     Node.__init__(self, 'x', node=node)
     if not node:
         self.setNamespace(NS_MUC_USER)
     if jid != None:
         self.setJid(jid)
     if affiliation != None:
         self.setAffiliation(affiliation)
     if role != None:
         self.setRole(role)
     if nick != None:
         self.setNick(nick)
     if reason != None:
         self.setReason(reason)
     if status != None:
         self.setStatus(status)
     if actor != None:
         self.setActor(actor)
示例#2
0
 def handle_starttag(self, tag, attr):
     """XML Parser callback. Used internally"""
     attrs={}
     #attlist=attrs.keys()       #
     #for attr in attlist:       # FIXME: Crude hack. And it also slows down the whole library considerably.
     #    sp=attr.rfind(" ")     #
     #    if sp==-1: continue    #
     #    ns=attr[:sp]           #
     #    attrs[self.namespaces[ns]+attr[sp+1:]]=attrs[attr]
     #    del attrs[attr]        #
     for each in attr:
         attrs[each[0]]=each[1]
     self.__depth += 1
     self.DEBUG(DBG_NODEBUILDER, "DEPTH -> %i , tag -> %s, attrs -> %s" % (self.__depth, tag, `attrs`), 'down')
     if self.__depth == self._dispatch_depth:
         if not self._mini_dom : self._mini_dom = Node(tag=tag, attrs=attrs)
         else: Node.__init__(self._mini_dom,tag=tag, attrs=attrs)
         self._ptr = self._mini_dom
     elif self.__depth > self._dispatch_depth:
         self._ptr.kids.append(Node(tag=tag,parent=self._ptr,attrs=attrs))
         self._ptr = self._ptr.kids[-1]
     if self.__depth == 1:
         self._document_attrs = attrs
         ns, name = (['']+tag.split())[-2:]
         self.stream_header_received(ns, name, attrs)
     if not self.last_is_data and self._ptr.parent: self._ptr.parent.data.append('')
     self.last_is_data = 0
示例#3
0
 def handle_starttag(self, tag, attr):
     """XML Parser callback. Used internally"""
     attrs = {}
     #attlist=attrs.keys()       #
     #for attr in attlist:       # FIXME: Crude hack. And it also slows down the whole library considerably.
     #    sp=attr.rfind(" ")     #
     #    if sp==-1: continue    #
     #    ns=attr[:sp]           #
     #    attrs[self.namespaces[ns]+attr[sp+1:]]=attrs[attr]
     #    del attrs[attr]        #
     for each in attr:
         attrs[each[0]] = each[1]
     self.__depth += 1
     self.DEBUG(
         DBG_NODEBUILDER, "DEPTH -> %i , tag -> %s, attrs -> %s" %
         (self.__depth, tag, ` attrs `), 'down')
     if self.__depth == self._dispatch_depth:
         if not self._mini_dom: self._mini_dom = Node(tag=tag, attrs=attrs)
         else: Node.__init__(self._mini_dom, tag=tag, attrs=attrs)
         self._ptr = self._mini_dom
     elif self.__depth > self._dispatch_depth:
         self._ptr.kids.append(Node(tag=tag, parent=self._ptr, attrs=attrs))
         self._ptr = self._ptr.kids[-1]
     if self.__depth == 1:
         self._document_attrs = attrs
         ns, name = ([''] + tag.split())[-2:]
         self.stream_header_received(ns, name, attrs)
     if not self.last_is_data and self._ptr.parent:
         self._ptr.parent.data.append('')
     self.last_is_data = 0
示例#4
0
 def __init__(self, id = None, mimetype = None, profile = None, node = None):
     Node.__init__(self,'si',node=node)
     if not node:
         self.setNamespace(NS_SI)
     if id != None:
         self.setID(id)
     if mime-type:
         self.setMimeType(mime-type)
     if profile:
         self.setProfile(profile)
示例#5
0
 def __init__(self, id=None, mimetype=None, profile=None, node=None):
     Node.__init__(self, 'si', node=node)
     if not node:
         self.setNamespace(NS_SI)
     if id != None:
         self.setID(id)
     if mime - type:
         self.setMimeType(mime - type)
     if profile:
         self.setProfile(profile)
示例#6
0
 def __init__(self, id = None, composing = False, delivered = False, offline = False, displayed = False, node = None):
     Node.__init__(self, 'x', node = node)
     if not node:
         self.setNamespace(NS_EVENT)
     if id != None:
         self.setEventID(id)
     if composing:
         self.setComposing()
     if delivered:
         self.setDelivered()
     if offline:
         self.setOffline()
     if displayed:
         self.setDisplayed()
示例#7
0
 def __init__(self, name = None, size = None, hash = None, date = None, offset = None, length = None, node = None):
     Node.__init__(self,'file',node=node)
     if not node:
         self.setNamespace(NS_SI_FILE)
     if name:
         self.setName(name)
     if size:
         self.setSize(size)
     if hash:
         self.setHash(hash)
     if date:
         self.setDate(date)
     if offset:
         self.setOffset(offset)
     if length:
         self.setLength(length)
示例#8
0
 def __init__(self,status = None, nick = None, jid = None, affiliation = None, role = None, reason = None, actor = None, node = None):
     Node.__init__(self, 'x', node = node)
     if not node:
         self.setNamespace(NS_MUC_USER)
     if jid != None:
         self.setJid(jid)
     if affiliation != None:
         self.setAffiliation(affiliation)
     if role != None:
         self.setRole(role)
     if nick != None:
         self.setNick(nick)
     if reason != None:
         self.setReason(reason)
     if status != None:    
         self.setStatus(status)
     if actor != None:
         self.setActor(actor)
示例#9
0
 def __init__(self,
              id=None,
              composing=False,
              delivered=False,
              offline=False,
              displayed=False,
              node=None):
     Node.__init__(self, 'x', node=node)
     if not node:
         self.setNamespace(NS_EVENT)
     if id != None:
         self.setEventID(id)
     if composing:
         self.setComposing()
     if delivered:
         self.setDelivered()
     if offline:
         self.setOffline()
     if displayed:
         self.setDisplayed()
示例#10
0
 def __init__(self,
              name=None,
              size=None,
              hash=None,
              date=None,
              offset=None,
              length=None,
              node=None):
     Node.__init__(self, 'file', node=node)
     if not node:
         self.setNamespace(NS_SI_FILE)
     if name:
         self.setName(name)
     if size:
         self.setSize(size)
     if hash:
         self.setHash(hash)
     if date:
         self.setDate(date)
     if offset:
         self.setOffset(offset)
     if length:
         self.setLength(length)
示例#11
0
 def __init__(self, form = None, node = None):
     Node.__init__(self,'feature',node=node)
     if not node:
         self.setNamespace(NS_FEATURE)
     if form:
         self.addChild(form)
示例#12
0
 def __init__(self, form=None, node=None):
     Node.__init__(self, 'feature', node=node)
     if not node:
         self.setNamespace(NS_FEATURE)
     if form:
         self.addChild(form)