def answer_greeting(self): "Part of process answer - parse greeting node." dct = self._dct_answer['data'] greeting = self._dict_answer['greeting'] for key in ('svID', 'svDate'): dct[key] = eppdoc.get_dct_value(greeting, key) svcMenu = greeting.get('svcMenu', {}) for key in ('lang', 'version', 'objURI'): dct[key] = eppdoc.get_dct_value(svcMenu, key) self.defs[LANGS] = dct['lang'] = dct['lang'].split('\n') if type(self.defs[LANGS]) in (str, unicode): self.defs[LANGS] = (self.defs[LANGS], ) # list of protocol versions: if dct.has_key('version') and type(dct['version']) in (unicode, str): dct['version'] = dct['version'].split('\n') # check objURI and extURI msg_invalid_schema_version = [] dct['objURI'] = dct.get('objURI', '').split('\n') if dct['objURI']: self.check_schemas('objURI', self.defs[objURI], dct['objURI']) dct['extURI'] = eppdoc.get_dct_values(svcMenu, ('svcExtension', 'extURI')) if self.defs[extURI]: self.check_schemas('extURI', self.defs[extURI], dct['extURI']) # adjust_dct_keys(dct, ('lang', 'objURI', 'extURI')) # data collection policy, access dcp = greeting.get('dcp', {}) dcp_access = dcp.get( 'access', {}).keys() # all, none, null, personal, personalAndOther, other if 'all' in dcp_access: access = 1 msg = _T('All data are disclosed.') else: access = 0 msg = _T('All data are hidden.') # Server Disclose Policy self._epp_cmd.server_disclose_policy = access dct['dcp'] = msg
def answer_greeting(self): "Part of process answer - parse greeting node." dct = self._dct_answer['data'] greeting = self._dict_answer['greeting'] for key in ('svID','svDate'): dct[key] = eppdoc.get_dct_value(greeting, key) svcMenu = greeting.get('svcMenu',{}) for key in ('lang','version','objURI'): dct[key] = eppdoc.get_dct_value(svcMenu, key) self.defs[LANGS] = dct['lang'] = dct['lang'].split('\n') if type(self.defs[LANGS]) in (str,unicode): self.defs[LANGS] = (self.defs[LANGS],) # list of protocol versions: if dct.has_key('version') and type(dct['version']) in (unicode, str): dct['version'] = dct['version'].split('\n') # check objURI and extURI msg_invalid_schema_version = [] dct['objURI'] = dct.get('objURI','').split('\n') if dct['objURI']: self.check_schemas('objURI', self.defs[objURI], dct['objURI']) dct['extURI'] = eppdoc.get_dct_values(svcMenu, ('svcExtension','extURI')) if self.defs[extURI]: self.check_schemas('extURI', self.defs[extURI], dct['extURI']) # adjust_dct_keys(dct,('lang','objURI','extURI')) # data collection policy, access dcp = greeting.get('dcp',{}) dcp_access = dcp.get('access',{}).keys() # all, none, null, personal, personalAndOther, other if 'all' in dcp_access: access = 1 msg = _T('All data are disclosed.') else: access = 0 msg = _T('All data are hidden.') # Server Disclose Policy self._epp_cmd.server_disclose_policy = access dct['dcp'] = msg
self.__response_create__(data, ('keyset','create','creData'), ('id','crDate')) def answer_response_domain_renew(self, data): self.__response_create__(data, ('domain','renew','renData'), ('name','exDate')) def __answer_response_list__(self, data, columns): 'Dispatch list answers.' if self.__code_isnot_1000__(data, '%s:list'%columns[0]): return try: resData = self._dict_answer['response']['resData'] listData = resData['%s:listData'%columns[0]] # contact:listData except KeyError, msg: self.append_error('answer_response_list:%s KeyError: %s'%(columns[0],msg)) else: self._dct_answer['data']['list'] = eppdoc.get_dct_values(listData, '%s:%s'%columns) self._dct_answer['data']['count'] = len(self._dct_answer['data']['list']) def answer_response_contact_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('contact','id')) def answer_response_nsset_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('nsset','id')) def answer_response_keyset_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('keyset','id')) def answer_response_domain_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('domain','name'))
def answer_response_domain_renew(self, data): self.__response_create__(data, ('domain', 'renew', 'renData'), ('name', 'exDate')) def __answer_response_list__(self, data, columns): 'Dispatch list answers.' if self.__code_isnot_1000__(data, '%s:list' % columns[0]): return try: resData = self._dict_answer['response']['resData'] listData = resData['%s:listData' % columns[0]] # contact:listData except KeyError, msg: self.append_error('answer_response_list:%s KeyError: %s' % (columns[0], msg)) else: self._dct_answer['data']['list'] = eppdoc.get_dct_values( listData, '%s:%s' % columns) self._dct_answer['data']['count'] = len( self._dct_answer['data']['list']) def answer_response_contact_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('contact', 'id')) def answer_response_nsset_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('nsset', 'id')) def answer_response_keyset_list(self, data): "data=(response,result,code,msg)" self.__answer_response_list__(data, ('keyset', 'id'))