Beispiel #1
0
 def answer_response_poll(self, data):
     "data=(response,result,code,msg)"
     label='poll'
     if self.__code_isnot_1000__(data, label) and data[ANSW_CODE] != 1301: return
     msgQ = None
     response = self._dict_answer.get('response',None)
     if response: msgQ = response.get('msgQ',None)
     if msgQ:
         self.__append_note_from_dct__(response,('msgQ count id',))
         self.__append_note_from_dct__(msgQ,('qDate','msg'))
         if not self._dct_answer['data'].has_key('msg'):
             # if message is not simple text but XML document:
             dmsg = msgQ.get('msg')
             self._dct_answer['data']['msg.nodes'] = self.get_nodes_with_xmlns(dmsg)
             if dmsg is not None and len(dmsg) == 1:
                 # remove topmost element if it is only one
                 key, dmsg = dmsg.popitem()
             self._dct_answer['data']['msg'] = '\n'+eppdoc.prepare_display(dmsg, self._session[COLORS])
     # convert str to int:
     for key in ('id','count'):
         sval = self.get_value_from_dict(('data','msgQ.%s'%key))
         if sval:
             try:
                 self._dct_answer['data']['msgQ.%s'%key] = int(sval)
             except ValueError, msg:
                 self._dct_answer.append(msg)
Beispiel #2
0
 def answer_response_poll(self, data):
     "data=(response,result,code,msg)"
     label = 'poll'
     if self.__code_isnot_1000__(data, label) and data[ANSW_CODE] != 1301:
         return
     msgQ = None
     response = self._dict_answer.get('response', None)
     if response: msgQ = response.get('msgQ', None)
     if msgQ:
         self.__append_note_from_dct__(response, ('msgQ count id', ))
         self.__append_note_from_dct__(msgQ, ('qDate', 'msg'))
         if not self._dct_answer['data'].has_key('msg'):
             # if message is not simple text but XML document:
             dmsg = msgQ.get('msg')
             self._dct_answer['data'][
                 'msg.nodes'] = self.get_nodes_with_xmlns(dmsg)
             if dmsg is not None and len(dmsg) == 1:
                 # remove topmost element if it is only one
                 key, dmsg = dmsg.popitem()
             self._dct_answer['data'][
                 'msg'] = '\n' + eppdoc.prepare_display(
                     dmsg, self._session[COLORS])
     # convert str to int:
     for key in ('id', 'count'):
         sval = self.get_value_from_dict(('data', 'msgQ.%s' % key))
         if sval:
             try:
                 self._dct_answer['data']['msgQ.%s' % key] = int(sval)
             except ValueError, msg:
                 self._dct_answer.append(msg)
Beispiel #3
0
 def __put_raw_into_note__(self, data):
     "Use pprint for displaying structured data (dict, XML-EPP)."
     if data is None:
         self.append_note(_T('No data'), ('RED', 'BOLD'))
     elif type(data) == dict:
         # Parsed data into dict
         self.append_note(eppdoc.prepare_display(data, COLOR))
     else:
         # XML EPP doc. only for better display
         edoc = eppdoc_client.Message(self)
         edoc.parse_xml(data)
         if edoc.is_error():
             self.append_note(data, 'GREEN') # Some errors occured during parsing process.
         else:
             self.append_note(edoc.get_xml(), 'GREEN')
Beispiel #4
0
 def __put_raw_into_note__(self, data):
     "Use pprint for displaying structured data (dict, XML-EPP)."
     if data is None:
         self.append_note(_T('No data'), ('RED', 'BOLD'))
     elif type(data) == dict:
         # Parsed data into dict
         self.append_note(eppdoc.prepare_display(data, COLOR))
     else:
         # XML EPP doc. only for better display
         edoc = eppdoc_client.Message(self)
         edoc.parse_xml(data)
         if edoc.is_error():
             self.append_note(
                 data,
                 'GREEN')  # Some errors occured during parsing process.
         else:
             self.append_note(edoc.get_xml(), 'GREEN')