tld package

Submodules

tld.base module

tld.bench module

tld.conf module

tld.defaults module

tld.exceptions module

exception tld.exceptions.TldBadUrl(url)[source]

Bases: exceptions.ValueError

TldBadUrl.

Supposed to be thrown when bad URL is given.

exception tld.exceptions.TldDomainNotFound(domain_name)[source]

Bases: exceptions.ValueError

TldDomainNotFound.

Supposed to be thrown when domain name is not found (didn’t match) the local TLD policy.

exception tld.exceptions.TldImproperlyConfigured(msg=None)[source]

Bases: exceptions.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.

exception tld.exceptions.TldIOError(msg=None)[source]

Bases: exceptions.IOError

TldIOError.

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

tld.helpers module

tld.helpers.project_dir(base)[source]

Project dir.

tld.helpers.PROJECT_DIR(base)

Project dir.

tld.tests module

tld.utils module

tld.utils.get_fld(url, fail_silently=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None, **kwargs)[source]

Extract the first level domain.

Extract the top level domain based on the mozilla’s effective TLD names dat file. Returns a string. May throw TldBadUrl or TldDomainNotFound exceptions if there’s bad URL provided or no TLD match found respectively.

Parameters:
  • url (str) – URL to get top level domain from.
  • fail_silently (bool) – If set to True, no exceptions are raised and None is returned on failure.
  • fix_protocol (bool) – If set to True, missing or wrong protocol is ignored (https is appended instead).
  • search_public (bool) – If set to True, search in public domains.
  • search_private (bool) – If set to True, search in private domains.
  • tld_names_local_path (str) –
Returns:

String with top level domain (if as_object argument is set to False) or a tld.utils.Result object (if as_object argument is set to True); returns None on failure.

Return type:

str

tld.utils.get_tld(url, fail_silently=False, as_object=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None)[source]

Extract the top level domain.

Extract the top level domain based on the mozilla’s effective TLD names dat file. Returns a string. May throw TldBadUrl or TldDomainNotFound exceptions if there’s bad URL provided or no TLD match found respectively.

Parameters:
  • url (str) – URL to get top level domain from.
  • fail_silently (bool) – If set to True, no exceptions are raised and None is returned on failure.
  • as_object (bool) – If set to True, tld.utils.Result object is returned, domain, suffix and tld properties.
  • fix_protocol (bool) – If set to True, missing or wrong protocol is ignored (https is appended instead).
  • search_public (bool) – If set to True, search in public domains.
  • search_private (bool) – If set to True, search in private domains.
  • tld_names_local_path (str) –
Returns:

String with top level domain (if as_object argument is set to False) or a tld.utils.Result object (if as_object argument is set to True); returns None on failure.

Return type:

str

tld.utils.get_tld_names(fail_silently=False, retry_count=0, tld_names_local_path=None)[source]

Build the tlds list if empty. Recursive.

Parameters:
  • fail_silently (bool) – If set to True, no exceptions are raised and None is returned on failure.
  • retry_count (int) – If greater than 1, we raise an exception in order to avoid infinite loops.
  • tld_names_local_path (str) –
Returns:

List of TLD names

Return type:

obj:tld.utils.Trie

tld.utils.get_tld_names_container()[source]

Get container of all tld names.

Returns:
Rtype dict:
tld.utils.is_tld(value, search_public=True, search_private=True, tld_names_local_path=None)[source]

Check if given URL is tld.

Parameters:
  • value (str) – URL to get top level domain from.
  • search_public (bool) – If set to True, search in public domains.
  • search_private (bool) – If set to True, search in private domains.
  • tld_names_local_path (str) –
Returns:

Return type:

bool

tld.utils.parse_tld(url, fail_silently=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None)[source]

Parse TLD into parts.

Parameters:
  • url
  • fail_silently
  • fix_protocol
  • search_public
  • search_private
  • tld_names_local_path
Returns:

Return type:

tuple

tld.utils.process_url(url, fail_silently=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None)[source]

Process URL.

Parameters:
  • url
  • fail_silently
  • fix_protocol
  • search_public
  • search_private
  • tld_names_local_path
Returns:

tld.utils.reset_tld_names(tld_names_local_path=None)[source]

Reset the tld_names to empty value.

If tld_names_local_path is given, removes specified entry from tld_names instead.

Parameters:tld_names_local_path (str) –
Returns:
class tld.utils.Result(tld, domain, subdomain, parsed_url)[source]

Bases: object

Container.

domain
extension

Alias of tld.

Return str:
fld

First level domain.

Returns:
Return type:str
parsed_url
subdomain
suffix

Alias of tld.

Return str:
tld
tld.utils.update_tld_names(fail_silently=False, tld_names_source_url=None, tld_names_local_path=None)[source]

Update the local copy of TLDs file.

Parameters:
  • fail_silently (bool) – If set to True, no exceptions is raised on failure but boolean False returned.
  • tld_names_source_url (str) –
  • tld_names_local_path (str) –
Returns:

True on success, False on failure.

Return type:

bool

tld.utils.update_tld_names_cli()[source]

CLI wrapper for update_tld_names.

Since update_tld_names returns True on success, we need to negate the result to match CLI semantics.

Module contents

tld.get_fld(url, fail_silently=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None, **kwargs)[source]

Extract the first level domain.

Extract the top level domain based on the mozilla’s effective TLD names dat file. Returns a string. May throw TldBadUrl or TldDomainNotFound exceptions if there’s bad URL provided or no TLD match found respectively.

Parameters:
  • url (str) – URL to get top level domain from.
  • fail_silently (bool) – If set to True, no exceptions are raised and None is returned on failure.
  • fix_protocol (bool) – If set to True, missing or wrong protocol is ignored (https is appended instead).
  • search_public (bool) – If set to True, search in public domains.
  • search_private (bool) – If set to True, search in private domains.
  • tld_names_local_path (str) –
Returns:

String with top level domain (if as_object argument is set to False) or a tld.utils.Result object (if as_object argument is set to True); returns None on failure.

Return type:

str

tld.get_tld(url, fail_silently=False, as_object=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None)[source]

Extract the top level domain.

Extract the top level domain based on the mozilla’s effective TLD names dat file. Returns a string. May throw TldBadUrl or TldDomainNotFound exceptions if there’s bad URL provided or no TLD match found respectively.

Parameters:
  • url (str) – URL to get top level domain from.
  • fail_silently (bool) – If set to True, no exceptions are raised and None is returned on failure.
  • as_object (bool) – If set to True, tld.utils.Result object is returned, domain, suffix and tld properties.
  • fix_protocol (bool) – If set to True, missing or wrong protocol is ignored (https is appended instead).
  • search_public (bool) – If set to True, search in public domains.
  • search_private (bool) – If set to True, search in private domains.
  • tld_names_local_path (str) –
Returns:

String with top level domain (if as_object argument is set to False) or a tld.utils.Result object (if as_object argument is set to True); returns None on failure.

Return type:

str

tld.get_tld_names(fail_silently=False, retry_count=0, tld_names_local_path=None)[source]

Build the tlds list if empty. Recursive.

Parameters:
  • fail_silently (bool) – If set to True, no exceptions are raised and None is returned on failure.
  • retry_count (int) – If greater than 1, we raise an exception in order to avoid infinite loops.
  • tld_names_local_path (str) –
Returns:

List of TLD names

Return type:

obj:tld.utils.Trie

tld.is_tld(value, search_public=True, search_private=True, tld_names_local_path=None)[source]

Check if given URL is tld.

Parameters:
  • value (str) – URL to get top level domain from.
  • search_public (bool) – If set to True, search in public domains.
  • search_private (bool) – If set to True, search in private domains.
  • tld_names_local_path (str) –
Returns:

Return type:

bool

tld.parse_tld(url, fail_silently=False, fix_protocol=False, search_public=True, search_private=True, tld_names_local_path=None)[source]

Parse TLD into parts.

Parameters:
  • url
  • fail_silently
  • fix_protocol
  • search_public
  • search_private
  • tld_names_local_path
Returns:

Return type:

tuple

class tld.Result(tld, domain, subdomain, parsed_url)[source]

Bases: object

Container.

domain
extension

Alias of tld.

Return str:
fld

First level domain.

Returns:
Return type:str
parsed_url
subdomain
suffix

Alias of tld.

Return str:
tld
tld.update_tld_names(fail_silently=False, tld_names_source_url=None, tld_names_local_path=None)[source]

Update the local copy of TLDs file.

Parameters:
  • fail_silently (bool) – If set to True, no exceptions is raised on failure but boolean False returned.
  • tld_names_source_url (str) –
  • tld_names_local_path (str) –
Returns:

True on success, False on failure.

Return type:

bool