From 64cc9427e5948d2b88783c8e53c94ed9505107e9 Mon Sep 17 00:00:00 2001 From: Kevin Gallagher Date: Wed, 19 Dec 2018 16:04:31 -0800 Subject: [PATCH] Make sure the OnionShare data directory is created Fixes #850 --- onionshare/common.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/onionshare/common.py b/onionshare/common.py index c84046f0..d0fe79db 100644 --- a/onionshare/common.py +++ b/onionshare/common.py @@ -130,15 +130,18 @@ class Common(object): if self.platform == 'Windows': try: appdata = os.environ['APPDATA'] - return '{}\\OnionShare'.format(appdata) + onionshare_data_dir = '{}\\OnionShare'.format(appdata) except: # If for some reason we don't have the 'APPDATA' environment variable # (like running tests in Linux while pretending to be in Windows) - return os.path.expanduser('~/.config/onionshare') + onionshare_data_dir = '~/.config/onionshare' elif self.platform == 'Darwin': - return os.path.expanduser('~/Library/Application Support/OnionShare') + onionshare_data_dir = '~/Library/Application Support/OnionShare' else: - return os.path.expanduser('~/.config/onionshare') + onionshare_data_dir = '~/.config/onionshare' + + os.makedirs(onionshare_data_dir, 0o700, True) + return onionshare_data_dir def build_slug(self): """