diff options
author | Micah Lee <micah@micahflee.com> | 2019-10-12 21:01:25 -0700 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2019-10-12 21:01:25 -0700 |
commit | 303772789048bcf24d4f937ae47014af4b20781c (patch) | |
tree | 71c5bc808b05475a4ab769ae4a227702f1844ac4 /install | |
parent | 90c244ee2fe98422ed537eb8a932d3da3d41218d (diff) | |
download | onionshare-303772789048bcf24d4f937ae47014af4b20781c.tar.gz onionshare-303772789048bcf24d4f937ae47014af4b20781c.zip |
Format all code using black
Diffstat (limited to 'install')
-rwxr-xr-x | install/check_lacked_trans.py | 69 | ||||
-rw-r--r-- | install/get-tor-osx.py | 83 | ||||
-rw-r--r-- | install/get-tor-windows.py | 50 | ||||
-rw-r--r-- | install/scripts/onionshare-nautilus.py | 34 |
4 files changed, 152 insertions, 84 deletions
diff --git a/install/check_lacked_trans.py b/install/check_lacked_trans.py index 5ccce923..62986707 100755 --- a/install/check_lacked_trans.py +++ b/install/check_lacked_trans.py @@ -33,12 +33,25 @@ import fileinput, argparse, re, os, codecs, json, sys def arg_parser(): desc = __doc__.strip().splitlines()[0] p = argparse.ArgumentParser(description=desc) - p.add_argument('-d', default='.', help='onionshare directory', - metavar='ONIONSHARE_DIR', dest='onionshare_dir') - p.add_argument('--show-all-keys', action='store_true', - help='show translation key in source and exit'), - p.add_argument('-l', default='all', help='language code (default: all)', - metavar='LANG_CODE', dest='lang_code') + p.add_argument( + "-d", + default=".", + help="onionshare directory", + metavar="ONIONSHARE_DIR", + dest="onionshare_dir", + ) + p.add_argument( + "--show-all-keys", + action="store_true", + help="show translation key in source and exit", + ), + p.add_argument( + "-l", + default="all", + help="language code (default: all)", + metavar="LANG_CODE", + dest="lang_code", + ) return p @@ -54,27 +67,29 @@ def main(): dir = args.onionshare_dir - src = files_in(dir, 'onionshare') + \ - files_in(dir, 'onionshare_gui') + \ - files_in(dir, 'onionshare_gui/mode') + \ - files_in(dir, 'onionshare_gui/mode/share_mode') + \ - files_in(dir, 'onionshare_gui/mode/receive_mode') + \ - files_in(dir, 'onionshare_gui/mode/website_mode') + \ - files_in(dir, 'install/scripts') + \ - files_in(dir, 'tests') - pysrc = [p for p in src if p.endswith('.py')] + src = ( + files_in(dir, "onionshare") + + files_in(dir, "onionshare_gui") + + files_in(dir, "onionshare_gui/mode") + + files_in(dir, "onionshare_gui/mode/share_mode") + + files_in(dir, "onionshare_gui/mode/receive_mode") + + files_in(dir, "onionshare_gui/mode/website_mode") + + files_in(dir, "install/scripts") + + files_in(dir, "tests") + ) + pysrc = [p for p in src if p.endswith(".py")] lang_code = args.lang_code translate_keys = set() # load translate key from python source - for line in fileinput.input(pysrc, openhook=fileinput.hook_encoded('utf-8')): + for line in fileinput.input(pysrc, openhook=fileinput.hook_encoded("utf-8")): # search `strings._('translate_key')` # `strings._('translate_key', True)` - m = re.findall(r'strings\._\((.*?)\)', line) + m = re.findall(r"strings\._\((.*?)\)", line) if m: for match in m: - key = match.split(',')[0].strip('''"' ''') + key = match.split(",")[0].strip(""""' """) translate_keys.add(key) if args.show_all_keys: @@ -82,12 +97,16 @@ def main(): print(k) sys.exit() - if lang_code == 'all': - locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json')] + if lang_code == "all": + locale_files = [f for f in files_in(dir, "share/locale") if f.endswith(".json")] else: - locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('%s.json' % lang_code)] + locale_files = [ + f + for f in files_in(dir, "share/locale") + if f.endswith("%s.json" % lang_code) + ] for locale_file in locale_files: - with codecs.open(locale_file, 'r', encoding='utf-8') as f: + with codecs.open(locale_file, "r", encoding="utf-8") as f: trans = json.load(f) # trans -> {"key1": "translate-text1", "key2": "translate-text2", ...} locale_keys = set(trans.keys()) @@ -97,11 +116,11 @@ def main(): locale, ext = os.path.splitext(os.path.basename(locale_file)) for k in sorted(disused): - print(locale, 'disused', k) + print(locale, "disused", k) for k in sorted(lacked): - print(locale, 'lacked', k) + print(locale, "lacked", k) -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/install/get-tor-osx.py b/install/get-tor-osx.py index a13756b7..c68a81a6 100644 --- a/install/get-tor-osx.py +++ b/install/get-tor-osx.py @@ -34,17 +34,24 @@ import shutil import subprocess import requests + def main(): - dmg_url = 'https://archive.torproject.org/tor-package-archive/torbrowser/8.5.5/TorBrowser-8.5.5-osx64_en-US.dmg' - dmg_filename = 'TorBrowser-8.5.5-osx64_en-US.dmg' - expected_dmg_sha256 = '9c1b7840bd251a4c52f0c919991e57cafb9178c55e11fa49f83ffacce3c20511' + dmg_url = "https://archive.torproject.org/tor-package-archive/torbrowser/8.5.5/TorBrowser-8.5.5-osx64_en-US.dmg" + dmg_filename = "TorBrowser-8.5.5-osx64_en-US.dmg" + expected_dmg_sha256 = ( + "9c1b7840bd251a4c52f0c919991e57cafb9178c55e11fa49f83ffacce3c20511" + ) # Build paths - root_path = os.path.dirname(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) - working_path = os.path.join(root_path, 'build', 'tor') - dmg_tor_path = os.path.join('/Volumes', 'Tor Browser', 'Tor Browser.app', 'Contents') + root_path = os.path.dirname( + os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) + ) + working_path = os.path.join(root_path, "build", "tor") + dmg_tor_path = os.path.join( + "/Volumes", "Tor Browser", "Tor Browser.app", "Contents" + ) dmg_path = os.path.join(working_path, dmg_filename) - dist_path = os.path.join(root_path, 'dist', 'OnionShare.app', 'Contents') + dist_path = os.path.join(root_path, "dist", "OnionShare.app", "Contents") # Make sure the working folder exists if not os.path.exists(working_path): @@ -54,10 +61,10 @@ def main(): if not os.path.exists(dmg_path): print("Downloading {}".format(dmg_url)) r = requests.get(dmg_url) - open(dmg_path, 'wb').write(r.content) + open(dmg_path, "wb").write(r.content) dmg_sha256 = hashlib.sha256(r.content).hexdigest() else: - dmg_data = open(dmg_path, 'rb').read() + dmg_data = open(dmg_path, "rb").read() dmg_sha256 = hashlib.sha256(dmg_data).hexdigest() # Compare the hash @@ -68,34 +75,52 @@ def main(): sys.exit(-1) # Mount the dmg, copy data to the working path - subprocess.call(['hdiutil', 'attach', dmg_path]) + subprocess.call(["hdiutil", "attach", dmg_path]) # Make sure Resources/tor exists before copying files - if os.path.exists(os.path.join(dist_path, 'Resources', 'Tor')): - shutil.rmtree(os.path.join(dist_path, 'Resources', 'Tor')) - os.makedirs(os.path.join(dist_path, 'Resources', 'Tor')) - if os.path.exists(os.path.join(dist_path, 'MacOS', 'Tor')): - shutil.rmtree(os.path.join(dist_path, 'MacOS', 'Tor')) - os.makedirs(os.path.join(dist_path, 'MacOS', 'Tor')) + if os.path.exists(os.path.join(dist_path, "Resources", "Tor")): + shutil.rmtree(os.path.join(dist_path, "Resources", "Tor")) + os.makedirs(os.path.join(dist_path, "Resources", "Tor")) + if os.path.exists(os.path.join(dist_path, "MacOS", "Tor")): + shutil.rmtree(os.path.join(dist_path, "MacOS", "Tor")) + os.makedirs(os.path.join(dist_path, "MacOS", "Tor")) # Modify the tor script to adjust the path - tor_script = open(os.path.join(dmg_tor_path, 'Resources', 'TorBrowser', 'Tor', 'tor'), 'r').read() - tor_script = tor_script.replace('../../../MacOS/Tor', '../../MacOS/Tor') - open(os.path.join(dist_path, 'Resources', 'Tor', 'tor'), 'w').write(tor_script) + tor_script = open( + os.path.join(dmg_tor_path, "Resources", "TorBrowser", "Tor", "tor"), "r" + ).read() + tor_script = tor_script.replace("../../../MacOS/Tor", "../../MacOS/Tor") + open(os.path.join(dist_path, "Resources", "Tor", "tor"), "w").write(tor_script) # Copy into dist - shutil.copyfile(os.path.join(dmg_tor_path, 'Resources', 'TorBrowser', 'Tor', 'geoip'), os.path.join(dist_path, 'Resources', 'Tor', 'geoip')) - shutil.copyfile(os.path.join(dmg_tor_path, 'Resources', 'TorBrowser', 'Tor', 'geoip6'), os.path.join(dist_path, 'Resources', 'Tor', 'geoip6')) - os.chmod(os.path.join(dist_path, 'Resources', 'Tor', 'tor'), 0o755) - shutil.copyfile(os.path.join(dmg_tor_path, 'MacOS', 'Tor', 'tor.real'), os.path.join(dist_path, 'MacOS', 'Tor', 'tor.real')) - shutil.copyfile(os.path.join(dmg_tor_path, 'MacOS', 'Tor', 'libevent-2.1.6.dylib'), os.path.join(dist_path, 'MacOS', 'Tor', 'libevent-2.1.6.dylib')) - os.chmod(os.path.join(dist_path, 'MacOS', 'Tor', 'tor.real'), 0o755) + shutil.copyfile( + os.path.join(dmg_tor_path, "Resources", "TorBrowser", "Tor", "geoip"), + os.path.join(dist_path, "Resources", "Tor", "geoip"), + ) + shutil.copyfile( + os.path.join(dmg_tor_path, "Resources", "TorBrowser", "Tor", "geoip6"), + os.path.join(dist_path, "Resources", "Tor", "geoip6"), + ) + os.chmod(os.path.join(dist_path, "Resources", "Tor", "tor"), 0o755) + shutil.copyfile( + os.path.join(dmg_tor_path, "MacOS", "Tor", "tor.real"), + os.path.join(dist_path, "MacOS", "Tor", "tor.real"), + ) + shutil.copyfile( + os.path.join(dmg_tor_path, "MacOS", "Tor", "libevent-2.1.6.dylib"), + os.path.join(dist_path, "MacOS", "Tor", "libevent-2.1.6.dylib"), + ) + os.chmod(os.path.join(dist_path, "MacOS", "Tor", "tor.real"), 0o755) # obfs4proxy binary - shutil.copyfile(os.path.join(dmg_tor_path, 'MacOS', 'Tor', 'PluggableTransports', 'obfs4proxy'), os.path.join(dist_path, 'Resources', 'Tor', 'obfs4proxy')) - os.chmod(os.path.join(dist_path, 'Resources', 'Tor', 'obfs4proxy'), 0o755) + shutil.copyfile( + os.path.join(dmg_tor_path, "MacOS", "Tor", "PluggableTransports", "obfs4proxy"), + os.path.join(dist_path, "Resources", "Tor", "obfs4proxy"), + ) + os.chmod(os.path.join(dist_path, "Resources", "Tor", "obfs4proxy"), 0o755) # Eject dmg - subprocess.call(['diskutil', 'eject', '/Volumes/Tor Browser']) + subprocess.call(["diskutil", "eject", "/Volumes/Tor Browser"]) + -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/install/get-tor-windows.py b/install/get-tor-windows.py index 6fc15c74..99608706 100644 --- a/install/get-tor-windows.py +++ b/install/get-tor-windows.py @@ -32,15 +32,22 @@ import shutil import subprocess import requests + def main(): - exe_url = 'https://archive.torproject.org/tor-package-archive/torbrowser/8.5.5/torbrowser-install-8.5.5_en-US.exe' - exe_filename = 'torbrowser-install-8.5.5_en-US.exe' - expected_exe_sha256 = 'a3aa7e626d1d2365dcecc6f17055f467f31c4ff9558a769e51d4b90640e48bb0' + exe_url = "https://archive.torproject.org/tor-package-archive/torbrowser/8.5.5/torbrowser-install-8.5.5_en-US.exe" + exe_filename = "torbrowser-install-8.5.5_en-US.exe" + expected_exe_sha256 = ( + "a3aa7e626d1d2365dcecc6f17055f467f31c4ff9558a769e51d4b90640e48bb0" + ) # Build paths - root_path = os.path.dirname(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) - working_path = os.path.join(os.path.join(root_path, 'build'), 'tor') + root_path = os.path.dirname( + os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) + ) + working_path = os.path.join(os.path.join(root_path, "build"), "tor") exe_path = os.path.join(working_path, exe_filename) - dist_path = os.path.join(os.path.join(os.path.join(root_path, 'dist'), 'onionshare'), 'tor') + dist_path = os.path.join( + os.path.join(os.path.join(root_path, "dist"), "onionshare"), "tor" + ) # Make sure the working folder exists if not os.path.exists(working_path): @@ -50,10 +57,10 @@ def main(): if not os.path.exists(exe_path): print("Downloading {}".format(exe_url)) r = requests.get(exe_url) - open(exe_path, 'wb').write(r.content) + open(exe_path, "wb").write(r.content) exe_sha256 = hashlib.sha256(r.content).hexdigest() else: - exe_data = open(exe_path, 'rb').read() + exe_data = open(exe_path, "rb").read() exe_sha256 = hashlib.sha256(exe_data).hexdigest() # Compare the hash @@ -64,8 +71,22 @@ def main(): sys.exit(-1) # Extract the bits we need from the exe - cmd = ['7z', 'e', '-y', exe_path, 'Browser\TorBrowser\Tor', '-o%s' % os.path.join(working_path, 'Tor')] - cmd2 = ['7z', 'e', '-y', exe_path, 'Browser\TorBrowser\Data\Tor\geoip*', '-o%s' % os.path.join(working_path, 'Data')] + cmd = [ + "7z", + "e", + "-y", + exe_path, + "Browser\TorBrowser\Tor", + "-o%s" % os.path.join(working_path, "Tor"), + ] + cmd2 = [ + "7z", + "e", + "-y", + exe_path, + "Browser\TorBrowser\Data\Tor\geoip*", + "-o%s" % os.path.join(working_path, "Data"), + ] subprocess.Popen(cmd).wait() subprocess.Popen(cmd2).wait() @@ -73,8 +94,11 @@ def main(): if os.path.exists(dist_path): shutil.rmtree(dist_path) os.makedirs(dist_path) - shutil.copytree( os.path.join(working_path, 'Tor'), os.path.join(dist_path, 'Tor') ) - shutil.copytree( os.path.join(working_path, 'Data'), os.path.join(dist_path, 'Data', 'Tor') ) + shutil.copytree(os.path.join(working_path, "Tor"), os.path.join(dist_path, "Tor")) + shutil.copytree( + os.path.join(working_path, "Data"), os.path.join(dist_path, "Data", "Tor") + ) + -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/install/scripts/onionshare-nautilus.py b/install/scripts/onionshare-nautilus.py index ed50fb23..dad2330c 100644 --- a/install/scripts/onionshare-nautilus.py +++ b/install/scripts/onionshare-nautilus.py @@ -5,7 +5,8 @@ import locale import subprocess import urllib import gi -gi.require_version('Nautilus', '3.0') + +gi.require_version("Nautilus", "3.0") from gi.repository import Nautilus from gi.repository import GObject @@ -15,12 +16,12 @@ class OnionShareExtension(GObject.GObject, Nautilus.MenuProvider): def __init__(self): # Get the localized string for "Share via OnionShare" label self.label = None - default_label = 'Share via OnionShare' + default_label = "Share via OnionShare" try: # Re-implement localization in python2 - default_locale = 'en' - locale_dir = os.path.join(sys.prefix, 'share/onionshare/locale') + default_locale = "en" + locale_dir = os.path.join(sys.prefix, "share/onionshare/locale") if os.path.exists(locale_dir): # Load all translations strings = {} @@ -28,7 +29,7 @@ class OnionShareExtension(GObject.GObject, Nautilus.MenuProvider): for filename in os.listdir(locale_dir): abs_filename = os.path.join(locale_dir, filename) lang, ext = os.path.splitext(filename) - if ext == '.json': + if ext == ".json": with open(abs_filename) as f: translations[lang] = json.load(f) @@ -42,7 +43,7 @@ class OnionShareExtension(GObject.GObject, Nautilus.MenuProvider): if key in translations[lang]: strings[key] = translations[lang][key] - self.label = strings['share_via_onionshare'] + self.label = strings["share_via_onionshare"] except: self.label = default_label @@ -63,30 +64,29 @@ class OnionShareExtension(GObject.GObject, Nautilus.MenuProvider): self.label = 'Share via OnionShare' """ - def url2path(self,url): + def url2path(self, url): file_uri = url.get_activation_uri() arg_uri = file_uri[7:] path = urllib.url2pathname(arg_uri) return path def exec_onionshare(self, filenames): -# Would prefer this method but there is a conflict between GTK 2.0 vs GTK 3.0 components being loaded at once -# (nautilus:3090): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported -# sys.argv = ["", "--filenames"] + filenames -# sys.exit(onionshare_gui.main()) - path = os.path.join(os.sep, 'usr', 'bin', 'onionshare-gui') + # Would prefer this method but there is a conflict between GTK 2.0 vs GTK 3.0 components being loaded at once + # (nautilus:3090): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported + # sys.argv = ["", "--filenames"] + filenames + # sys.exit(onionshare_gui.main()) + path = os.path.join(os.sep, "usr", "bin", "onionshare-gui") cmd = [path, "--filenames"] + filenames subprocess.Popen(cmd) def get_file_items(self, window, files): - menuitem = Nautilus.MenuItem(name='OnionShare::Nautilus', - label=self.label, - tip='', - icon='') + menuitem = Nautilus.MenuItem( + name="OnionShare::Nautilus", label=self.label, tip="", icon="" + ) menu = Nautilus.Menu() menu.append_item(menuitem) menuitem.connect("activate", self.menu_activate_cb, files) - return menuitem, + return (menuitem,) def menu_activate_cb(self, menu, files): file_list = [] |