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)
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)
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')
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')