diff options
Diffstat (limited to 'BitTorrent/__init__.py')
-rw-r--r-- | BitTorrent/__init__.py | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/BitTorrent/__init__.py b/BitTorrent/__init__.py new file mode 100644 index 0000000..877e27f --- /dev/null +++ b/BitTorrent/__init__.py @@ -0,0 +1,88 @@ +# -*- coding: UTF-8 -*- +# The contents of this file are subject to the BitTorrent Open Source License +# Version 1.1 (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.4.0' + +URL = 'http://www.bittorrent.com/' +DONATE_URL = URL + 'donate.html' +FAQ_URL = URL + 'FAQ.html' +HELP_URL = URL + 'documentation.html' +SEARCH_URL = 'http://search.bittorrent.com/search.jsp?client=%(client)s&query=%(query)s' + +import sys +assert sys.version_info >= (2, 2, 1), _("Python %s or newer required") % '2.2.1' +import os +import time + +branch = None +if os.access('.cdv', os.F_OK): + branch = os.path.split(os.path.realpath(os.path.split(sys.argv[0])[0]))[1] + +from BitTorrent.language import languages, language_names +from BitTorrent.platform import get_home_dir, is_frozen_exe + +if os.name == 'posix': + if os.uname()[0] == "Darwin": + from BitTorrent.platform import install_translation + install_translation() + +# hackery to get around bug in py2exe that tries to write log files to +# application directories, which may not be writable by non-admin users +if 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 __init__(self): + self.just_wrote_newline = True + + def write(self, text, alert=None, fname=logpath): + output = text + + if self.just_wrote_newline and not text.startswith('[%s ' % version): + output = '[%s %s] %s' % (version, time.strftime('%Y-%m-%d %H:%M:%S'), text) + + if 'GtkWarning' not in text: + baseclass.write(self, output, fname=fname) + + if output[-1] == '\n': + self.just_wrote_newline = True + else: + self.just_wrote_newline = False + + sys.stderr = Stderr() + +del sys, get_home_dir, is_frozen_exe + +INFO = 0 +WARNING = 1 +ERROR = 2 +CRITICAL = 3 + +status_dict = {INFO: 'info', + WARNING: 'warning', + ERROR: 'error', + CRITICAL: 'critical'} + +class BTFailure(Exception): + pass + +class BTShutdown(BTFailure): + pass + |