]> git.lizzy.rs Git - torbrowser-launcher.git/blobdiff - torbrowser_launcher/common.py
Fix language fallback for Chinese (Hong Kong)
[torbrowser-launcher.git] / torbrowser_launcher / common.py
index d72917aacad9007a9ad7b1950f43b13386fbdafa..60e7e1c4aad2615cc88eb02474decd5f6b916010 100644 (file)
@@ -73,11 +73,19 @@ class Common(object):
 
         # figure out the language
         available_languages = ['ar', 'ca', 'da', 'de', 'en-US', 'es-ES', 'fa', 'fr', 'ga-IE', 'he', 'id', 'is', 'it', 'ja', 'ko', 'nb-NO', 'nl', 'pl', 'pt-BR', 'ru', 'sv-SE', 'tr', 'vi', 'zh-CN', 'zh-TW']
+
+        # a list of manually configured language fallback overriding
+        language_overrides = {
+            'zh-HK': 'zh-TW',
+        }
+
         default_locale = locale.getlocale()[0]
         if default_locale is None:
             self.language = 'en-US'
         else:
             self.language = default_locale.replace('_', '-')
+            if self.language in language_overrides:
+                self.language = language_overrides[self.language]
             if self.language not in available_languages:
                 self.language = self.language.split('-')[0]
                 if self.language not in available_languages:
@@ -88,6 +96,14 @@ class Common(object):
             if self.language not in available_languages:
                 self.language = 'en-US'
 
+    # get value of environment variable, if it is not set return the default value
+    @staticmethod
+    def get_env(var_name, default_value):
+        value = os.getenv(var_name)
+        if not value:
+            value = default_value
+        return value
+
     # build all relevant paths
     def build_paths(self, tbb_version=None):
         homedir = os.getenv('HOME')
@@ -101,9 +117,9 @@ class Common(object):
         if not os.access(homedir, os.W_OK):
             self.set_gui('error', _("{0} is not writable").format(homedir), [], False)
 
-        tbb_config = '{0}/.config/torbrowser'.format(homedir)
-        tbb_cache = '{0}/.cache/torbrowser'.format(homedir)
-        tbb_local = '{0}/.local/share/torbrowser'.format(homedir)
+        tbb_config = '{0}/torbrowser'.format(self.get_env('XDG_CONFIG_HOME', '{0}/.config'.format(homedir)))
+        tbb_cache = '{0}/torbrowser'.format(self.get_env('XDG_CACHE_HOME', '{0}/.cache'.format(homedir)))
+        tbb_local = '{0}/torbrowser'.format(self.get_env('XDG_DATA_HOME', '{0}/.local/share'.format(homedir)))
         old_tbb_data = '{0}/.torbrowser'.format(homedir)
 
         if tbb_version:
@@ -139,7 +155,6 @@ class Common(object):
                 'tbl_bin': sys.argv[0],
                 'icon_file': os.path.join(os.path.dirname(SHARE), 'pixmaps/torbrowser.png'),
                 'torproject_pem': os.path.join(SHARE, 'torproject.pem'),
-                'keyserver_ca': os.path.join(SHARE, 'sks-keyservers.netCA.pem'),
                 'signing_keys': {
                     'tor_browser_developers': os.path.join(SHARE, 'tor-browser-developers.asc')
                 },
@@ -197,8 +212,6 @@ class Common(object):
         p = subprocess.Popen(['/usr/bin/gpg2', '--status-fd', '2',
                               '--homedir', self.paths['gnupg_homedir'],
                               '--keyserver', 'hkps://keys.openpgp.org',
-                              '--keyserver-options', 'ca-cert-file=' + self.paths['keyserver_ca']
-                              + ',include-revoked,no-honor-keyserver-url,no-honor-pka-record',
                               '--refresh-keys'], stderr=subprocess.PIPE)
         p.wait()