Source code for tld.exceptions

from .conf import get_setting

__title__ = 'tld.exceptions'
__author__ = 'Artur Barseghyan'
__copyright__ = '2013-2018 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = (
    'TldBadUrl',
    'TldDomainNotFound',
    'TldImproperlyConfigured',
    'TldIOError',
)


[docs]class TldIOError(IOError): """TldIOError. Supposed to be thrown when problems with reading/writing occur. """ def __init__(self, msg=None): tld_names_local_path = get_setting('NAMES_LOCAL_PATH') if msg is None: msg = "Can't read from or write to the %s " \ "file!" % tld_names_local_path super(TldIOError, self).__init__(msg)
[docs]class TldDomainNotFound(ValueError): """TldDomainNotFound. Supposed to be thrown when domain name is not found (didn't match) the local TLD policy. """ def __init__(self, domain_name): super(TldDomainNotFound, self).__init__( "Domain %s didn't match any existing TLD name!" % domain_name )
[docs]class TldBadUrl(ValueError): """TldBadUrl. Supposed to be thrown when bad URL is given. """ def __init__(self, url): super(TldBadUrl, self).__init__("Is not a valid URL %s!" % url)
[docs]class TldImproperlyConfigured(Exception): """TldImproperlyConfigured. Supposed to be thrown when code is improperly configured. Typical use-case is when user tries to use `get_tld` function with both `search_public` and `search_private` set to False. """ def __init__(self, msg=None): if msg is None: msg = "Improperly configured." else: msg = "Improperly configured. %s" % msg super(TldImproperlyConfigured, self).__init__(msg)