⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 __init__.py

📁 BitTorrent(简称BT
💻 PY
字号:
# The contents of this file are subject to the BitTorrent Open Source License# Version 1.0 (the License).  You may not copy or use this file, in either# source code or executable form, except in compliance with the License.  You# may obtain a copy of the License at http://www.bittorrent.com/license/.## Software distributed under the License is distributed on an AS IS basis,# WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the License# for the specific language governing rights and limitations under the# License.app_name = "BitTorrent"version = '4.0.1'URL = 'http://www.bittorrent.com/'DONATE_URL = URL + 'donate.html'FAQ_URL = URL + 'FAQ.html'HELP_URL = URL + 'documentation.html'import sysassert sys.version_info >= (2, 2, 1), "Python 2.2.1 or newer required"import osimport redef calc_unix_dirs():    appdir = '%s-%s'%(app_name, version)    ip = os.path.join('share', 'pixmaps', appdir)    dp = os.path.join('share', 'doc'    , appdir)    return ip, dpapp_root = os.path.split(os.path.abspath(sys.argv[0]))[0]image_root = os.path.join(app_root, 'images')doc_root = app_rootif not os.access(image_root, os.F_OK):    # probably we are installed on *nix    # I have no idea whether this is right or not    if app_root[-4:] == '/bin':        # yep, installed on *nix        installed_prefix = app_root[:-4]        image_root, doc_root = map(            lambda p: os.path.join(installed_prefix, p), calc_unix_dirs()            )# a cross-platform way to get user's home directorydef get_config_dir():    shellvars = ['${APPDATA}', '${HOME}', '${USERPROFILE}']    dir_root = get_dir_root(shellvars)    if dir_root is None:        reg_dir = get_registry_dir('AppData')        if reg_dir is not None:            dir_root = reg_dir    return dir_rootdef get_home_dir():    shellvars = ['${HOME}', '${USERPROFILE}']    dir_root = get_dir_root(shellvars)    return dir_rootdef get_dir_root(shellvars):    def check_sysvars(x):        y = os.path.expandvars(x)        if y != x and os.path.isdir(y):            return y        return None    dir_root = None    for d in shellvars:        dir_root = check_sysvars(d)        if dir_root is not None:            break    else:        dir_root = os.path.expanduser('~')        if dir_root == '~' or not os.path.isdir(dir_root):            dir_root = None    return dir_rootdef get_registry_dir(value):    reg_dir = None     find_pat = re.compile('%([A-Z_]+)%')    repl_pat = '${\\1}'        if os.name == 'nt':        #from win32com.shell import shell, shellcon        #desktop = shell.SHGetPathFromIDList(shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOPDIRECTORY))        import _winreg as wreg        try:             key = wreg.OpenKey(wreg.HKEY_CURRENT_USER,                               r'Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders')            d = wreg.QueryValueEx(key, value)            reg_dir, a_random_number = os.path.expandvars(d)            reg_dir = find_pat.sub(repl_pat, reg_dir)            reg_dir = os.path.expandvars(reg_dir)            reg_dir = reg_dir.encode('mbcs')        except Exception, e:            pass        if reg_dir is not None and os.access(reg_dir, os.R_OK|os.W_OK):            pass        else:            reg_dir = None    return reg_dirdef path_wrap(path):    return pathif os.name == 'nt':    def path_wrap(path):        return path.decode('mbcs').encode('utf-8')is_frozen_exe = (os.name == 'nt') and hasattr(sys, 'frozen') and (sys.frozen == 'windows_exe')# hackery to get around bug in py2exe that tries to write log files to# application directories, which may not be writable by non-admin usersif is_frozen_exe:    baseclass = sys.stderr.__class__    class Stderr(baseclass):        logroot = get_home_dir()        if logroot is None:            logroot = os.path.splitdrive(sys.executable)[0]            if logroot[-1] != os.sep:                logroot += os.sep        logname = os.path.splitext(os.path.split(sys.executable)[1])[0] + '_errors.log'        logpath = os.path.join(logroot, logname)        def write(self, text, alert=None, fname=logpath):            if 'GtkWarning' not in text:                baseclass.write(self, text, fname=fname)    sys.stderr = Stderr()del sysINFO = 0WARNING = 1ERROR = 2CRITICAL = 3class BTFailure(Exception):    passclass BTShutdown(BTFailure):    pass

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -