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

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. from jabber.objects.gmail.mail_thread_info import MailThreadInfo
  5. from pyxmpp.utils import from_utf8
  6. from jabber.jabber_util.functions import xpath_eval
  7. from pyxmpp.xmlextra import get_node_ns_uri
  8. from jabber.objects.gmail import GOOGLE_MAIL_NOTIFY_NS
  9. from pyxmpp.objects import StanzaPayloadObject
  10.  
  11. class Mailbox(StanzaPayloadObject, list):
  12.     xml_element_name = 'mailbox'
  13.     xml_element_namespace = GOOGLE_MAIL_NOTIFY_NS
  14.     
  15.     def __init__(self, xmlnode):
  16.         self._Mailbox__from_xml(xmlnode)
  17.  
  18.     
  19.     def __from_xml(self, node):
  20.         if node.type != 'element':
  21.             raise ValueError, 'XML node is not a %s element (not en element)' % self.xml_element_name
  22.         
  23.         ns = get_node_ns_uri(node)
  24.         if ns or ns != self.xml_element_namespace or node.name != self.xml_element_name:
  25.             raise ValueError, 'XML node is not an %s element' % self.xml_element_name
  26.         
  27.         self.result_time = int(from_utf8(node.prop('result-time')))
  28.         self.total_matched = int(from_utf8(node.prop('total-matched')))
  29.         self.url = from_utf8(node.prop('url'))
  30.         total_estimate = node.prop('messages')
  31.         self.total_estimate = None if total_estimate else 0
  32.         threads = xpath_eval(node, 'g:mail-thread-info', {
  33.             'g': GOOGLE_MAIL_NOTIFY_NS })
  34.         self.extend((lambda .0: for thread in .0:
  35. MailThreadInfo(thread))(threads))
  36.  
  37.  
  38.