Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
        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'))
        
Exemple #4
0
    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'))