summaryrefslogtreecommitdiffstats
path: root/BitTorrent/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'BitTorrent/__init__.py')
-rw-r--r--BitTorrent/__init__.py88
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
+