403Webshell
Server IP : 104.21.25.180  /  Your IP : 104.23.197.123
Web Server : Apache/2.4.37
System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64
User : ricodeal ( 1046)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python2.7/site-packages/tld/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python2.7/site-packages/tld/base.py
# -*- coding: utf-8 -*-

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from six import with_metaclass as _py_backwards_six_withmetaclass
from codecs import open as codecs_open
try:
    from urllib.request import urlopen
except ImportError:
    from six.moves.urllib.request import urlopen as urlopen
from .exceptions import TldIOError, TldImproperlyConfigured
from .helpers import project_dir
from .registry import Registry
__author__ = u'Artur Barseghyan'
__copyright__ = u'2013-2019 Artur Barseghyan'
__license__ = u'MPL-1.1 OR GPL-2.0-only OR LGPL-2.1-or-later'
__all__ = (u'BaseTLDSourceParser',)


class BaseTLDSourceParser(
        _py_backwards_six_withmetaclass(Registry, *[object])):
    u'Base TLD source parser.'
    uid = None
    source_url = None
    local_path = None

    @classmethod
    def validate(cls):
        u'Constructor.'
        if (not cls.uid):
            raise TldImproperlyConfigured(
                u'The `uid` property of the TLD source parser shall be defined.')

    @classmethod
    def get_tld_names(cls, fail_silently=False, retry_count=0):
        u'Get tld names.\n\n        :param fail_silently:\n        :param retry_count:\n        :return:\n        '
        cls.validate()
        raise NotImplementedError(
            u'Your TLD source parser shall implement `get_tld_names` method.')

    @classmethod
    def update_tld_names(cls, fail_silently=False):
        u'Update the local copy of the TLD file.\n\n        :param fail_silently:\n        :return:\n        '
        try:
            remote_file = urlopen(cls.source_url)
            local_file = codecs_open(project_dir(
                cls.local_path), u'wb', encoding='utf8')
            local_file.write(remote_file.read().decode(u'utf8'))
            local_file.close()
            remote_file.close()
        except Exception as err:
            if fail_silently:
                return False
            raise TldIOError(err)
        return True

Youez - 2016 - github.com/yon3zu
LinuXploit