Beispiel #1
0
 def finish(self, data):
     """ finish processing of an xml stanza. """
     methods = []
     self.final['subelements'] = self.subelements
     for subelement in self.subelements:
         logging.debug("%s - %s" % (self.cfg.name, str(subelement)))
         for elem in subelement:
             logging.debug("%s - setting %s handler" % (self.cfg.name, elem))
             methods.append(self.getHandler(elem))
         for method in methods:
             if not method: continue
             try:
                 result = GozerEvent(subelement)
                 result.bot = self
                 result.orig = data
                 result.jabber = True
                 method(result) 
             except Exception, ex: handle_exception()
     if self.tags:
         element = self.tags[0]
         logging.debug("%s - setting element: %s" % (self.cfg.name, element))
     else: element = 'stream'
     self.final['element'] = element
     method = self.getHandler(element)
     if method:
         try:
             result = GozerEvent(self.final)
             result.bot = self
             result.orig = data
             result.jabber = True
             method(result) 
         except Exception, ex:
             handle_exception()
             result = {}
Beispiel #2
0
             method(result)
         except Exception, ex:
             handle_exception()
 if self.tags:
     element = self.tags[0]
     logging.debug("%s - setting element: %s" % (self.name, element))
 else:
     element = 'stream'
 self.final['element'] = element
 method = self.getHandler(element)
 if method:
     try:
         result = GozerEvent(self.final)
         result.bot = self
         result.orig = data
         result.jabber = True
         method(result)
     except Exception, ex:
         handle_exception()
         result = {}
 else:
     logging.error("%s - can't find handler for %s" %
                   (self.name, element))
     result = {}
 if result:
     self.final = {}
     self.reslist = []
     self.tags = []
     self.subelements = []
     self.buffer = ""
     return result