From 383ccb94fc047d81bddcefccd4511f11a7ebd61a Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Mon, 5 Mar 2018 07:52:51 -0800 Subject: [PATCH] Add downloads_dir to settings, make it default to ~/Downloads --- onionshare/__init__.py | 2 +- onionshare/settings.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/onionshare/__init__.py b/onionshare/__init__.py index ad1d300b..fe7f72dd 100644 --- a/onionshare/__init__.py +++ b/onionshare/__init__.py @@ -86,6 +86,7 @@ def main(cwd=None): settings = Settings(config) + settings.load() # Start the Onion object onion = Onion() @@ -122,7 +123,6 @@ def main(cwd=None): print('') # Start OnionShare http service in new thread - settings.load() t = threading.Thread(target=web.start, args=(app.port, app.stay_open, settings.get('slug'))) t.daemon = True t.start() diff --git a/onionshare/settings.py b/onionshare/settings.py index 545915e8..5ec2d2ae 100644 --- a/onionshare/settings.py +++ b/onionshare/settings.py @@ -70,7 +70,8 @@ class Settings(object): 'save_private_key': False, 'private_key': '', 'slug': '', - 'hidservauth_string': '' + 'hidservauth_string': '', + 'downloads_dir': self.build_default_downloads_dir() } self._settings = {} self.fill_in_defaults() @@ -97,6 +98,14 @@ class Settings(object): else: return os.path.expanduser('~/.config/onionshare/onionshare.json') + def build_default_downloads_dir(self): + """ + Returns the path of the default Downloads directory for receive mode. + """ + # TODO: Test in Windows, though it looks like it should work + # https://docs.python.org/3/library/os.path.html#os.path.expanduser + return os.path.expanduser('~/Downloads') + def load(self): """ Load the settings from file.