/BitTorrent/__init__.py
https://github.com/mbologna/BitFountain · Python · 88 lines · 56 code · 20 blank · 12 comment · 11 complexity · 33147e2858e40f38489716e19464c67d MD5 · raw file
- # -*- 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 = 'BitFountain'
- version = '2.0.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