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