summaryrefslogtreecommitdiffhomepage
path: root/libs/tld/exceptions.py
blob: 35157a9152753a1ffd39a785de97bf62fa205c70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
__author__ = "Artur Barseghyan"
__copyright__ = "2013-2021 Artur Barseghyan"
__license__ = "MPL-1.1 OR GPL-2.0-only OR LGPL-2.1-or-later"
__all__ = (
    "TldBadUrl",
    "TldDomainNotFound",
    "TldImproperlyConfigured",
    "TldIOError",
)


class TldIOError(IOError):
    """TldIOError.

    Supposed to be thrown when problems with reading/writing occur.
    """


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
        )


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)


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.
    """