Exemple #1
0
 def transfer_domain(self,
                     domain,
                     user,
                     user_id,
                     password,
                     nameservers=None,
                     reg_domain=None,
                     extras=None):
     try:
         attrs = self._make_domain_transfer_attrs(domain, user, user_id,
                                                  password, nameservers,
                                                  reg_domain)
         if extras:
             attrs.update(extras)
         rsp = self._sw_register_domain(attrs)
         order_id = rsp.get_data()['attributes']['id']
         return {
             'domain_name': domain,
             'registrar_data': {
                 'ref_number': order_id
             },
         }
     except errors.XCPError as e:
         if e.response_code == self.CODE_DOMAIN_NOT_TRANSFERABLE:
             raise errors.DomainNotTransferable(e)
         if e.response_code == self.CODE_DOMAIN_REGISTRATION_FAILED:
             if (e.response_text.startswith('Invalid domain syntax')
                     or e.response_text.startswith(
                         'Invalid syntax on domain')):
                 raise errors.InvalidDomain(e)
             raise errors.DomainTransferFailure(e)
         raise
Exemple #2
0
 def register_domain(self,
                     domain,
                     purchase_period,
                     user,
                     user_id,
                     password,
                     nameservers=None,
                     private_reg=False,
                     reg_domain=None,
                     extras=None):
     extras = extras or {}
     attrs = self._make_domain_reg_attrs(domain, purchase_period, user,
                                         user_id, password, nameservers,
                                         private_reg, reg_domain, **extras)
     if extras:
         attrs.update(extras)
     try:
         rsp = self._sw_register_domain(attrs)
         order_id = rsp.get_data()['attributes']['id']
         return {
             'domain_name': domain,
             'registrar_data': {
                 'ref_number': order_id
             }
         }
     except errors.XCPError as e:
         if e.response_code == self.CODE_DOMAIN_REGISTRATION_TAKEN:
             raise errors.DomainTaken(e)
         if e.response_code == self.CODE_DOMAIN_REGISTRATION_FAILED:
             if (e.response_text.startswith('Invalid domain syntax')
                     or e.response_text.startswith(
                         'Invalid syntax on domain')):
                 raise errors.InvalidDomain(e)
             raise errors.DomainRegistrationFailure(e)
         raise
Exemple #3
0
 def domain_transferable(self, domain):
     try:
         rsp = self._check_transfer(domain)
     except errors.XCPError, e:
         if e.response_code == self.CODE_DOMAIN_INVALID:
             raise errors.InvalidDomain(e)
         raise
Exemple #4
0
 def domain_available(self, domain):
     try:
         rsp = self._lookup_domain(domain)
     except errors.XCPError, e:
         if e.response_code == self.CODE_DOMAIN_INVALID:
             raise errors.InvalidDomain(e)
         raise
Exemple #5
0
 def domain_transferable(self, domain):
     try:
         rsp = self._check_transfer(domain)
     except errors.XCPError as e:
         if e.response_code == self.CODE_DOMAIN_INVALID:
             raise errors.InvalidDomain(e)
         raise
     attribs = rsp.get_data()['attributes']
     return (attribs['transferrable'] == '1', attribs.get('reason', None))
Exemple #6
0
 def _capture(self, *args, **kwargs):
     try:
         return fn(self, *args, **kwargs)
     except errors.XCPError as e:
         if e.response_code == self.CODE_DOMAIN_NOT_TRANSFERABLE:
             raise errors.DomainNotTransferable(e)
         if e.response_code == self.CODE_DOMAIN_REGISTRATION_FAILED:
             if (e.response_text.startswith('Invalid domain syntax') or
                     e.response_text.startswith(
                         'Invalid syntax on domain')):
                 raise errors.InvalidDomain(e)
             raise errors.DomainTransferFailure(e)
         raise
Exemple #7
0
 def domain_available(self, domain):
     try:
         rsp = self._lookup_domain(domain)
     except errors.XCPError as e:
         if e.response_code == self.CODE_DOMAIN_INVALID:
             raise errors.InvalidDomain(e)
         raise
     code = rsp.get_data()['response_code']
     if code == self.CODE_DOMAIN_AVAILABLE:
         return True
     if code in [self.CODE_DOMAIN_TAKEN,
                 self.CODE_DOMAIN_TAKEN_AWAITING_REGISTRATION]:
         return False
     raise errors.OperationFailure(rsp)
Exemple #8
0
 def _capture(self, *args, **kwargs):
     try:
         return fn(self, *args, **kwargs)
     except errors.XCPError as e:
         if e.response_code == self.CODE_DOMAIN_REGISTRATION_TAKEN:
             raise errors.DomainTaken(e)
         if e.response_code == self.CODE_DOMAIN_REGISTRATION_FAILED:
             if (e.response_text.startswith('Invalid domain syntax') or
                     e.response_text.startswith(
                         'Invalid syntax on domain')):
                 raise errors.InvalidDomain(e)
             raise errors.DomainRegistrationFailure(e)
         if e.response_code == self.CODE_CLIENT_TIMED_OUT:
             raise errors.DomainRegistrationTimedOut(e)
         raise