home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2009 June / maximum-cd-2009-06.iso / DiscContents / digsby_setup.exe / lib / jabber / objects / x_event.pyo (.txt) < prev   
Encoding:
Python Compiled Bytecode  |  2009-02-26  |  2.4 KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. from pyxmpp.objects import StanzaPayloadObject
  5. from pyxmpp.xmlextra import common_doc, get_node_ns_uri
  6. from jabber.jabber_util import xpath_eval
  7. X_EVENT_NS = 'jabber:x:event'
  8.  
  9. class X_Event(StanzaPayloadObject):
  10.     xml_element_name = 'x'
  11.     xml_element_namespace = X_EVENT_NS
  12.     
  13.     def __init__(self, xmlnode = None, offline = False, delivered = False, displayed = False, composing = False, id = None):
  14.         if xmlnode is not None:
  15.             self.from_xml(xmlnode)
  16.         else:
  17.             self.offline = offline
  18.             self.delivered = delivered
  19.             self.displayed = displayed
  20.             self.composing = composing
  21.             self.id = id
  22.  
  23.     
  24.     def complete_xml_element(self, xmlnode, _doc):
  25.         None if self.offline else None
  26.         None if self.delivered else None
  27.         None if self.displayed else None
  28.         None if self.composing else None
  29.         None if self.id else None
  30.  
  31.     
  32.     def from_xml(self, xmlnode):
  33.         if xmlnode.type != 'element':
  34.             raise ValueError, 'XML node is not a photo (not en element)'
  35.         
  36.         ns = get_node_ns_uri(xmlnode)
  37.         if ns or ns != self.xml_element_namespace or xmlnode.name != self.xml_element_name:
  38.             raise ValueError, 'XML node is not a %s descriptor' % self.xml_element_name
  39.         
  40.         self.offline = bool(xpath_eval(xmlnode, 'x:offline', {
  41.             'x': X_EVENT_NS }))
  42.         self.delivered = bool(xpath_eval(xmlnode, 'x:delivered', {
  43.             'x': X_EVENT_NS }))
  44.         self.displayed = bool(xpath_eval(xmlnode, 'x:displayed', {
  45.             'x': X_EVENT_NS }))
  46.         self.composing = bool(xpath_eval(xmlnode, 'x:composing', {
  47.             'x': X_EVENT_NS }))
  48.         ids = xpath_eval(xmlnode, 'x:id', {
  49.             'x': X_EVENT_NS })
  50.         self.id = None if ids else None
  51.  
  52.     
  53.     def __str__(self):
  54.         n = self.as_xml(doc = common_doc)
  55.         r = n.serialize()
  56.         n.unlinkNode()
  57.         n.freeNode()
  58.         return r
  59.  
  60.  
  61.