diff options
author | Micah Lee <micah@micahflee.com> | 2015-06-16 12:33:56 -0700 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2015-06-16 12:33:56 -0700 |
commit | 0350cb3cdca2a013cba7ec4cae1068aaee0896d8 (patch) | |
tree | 9570c5a81c5f009a3b104b9c0bbcbfb31905b757 | |
parent | 2e39382126ac8f374b4cb4c8c5b251695d6f2591 (diff) | |
download | onionshare-0350cb3cdca2a013cba7ec4cae1068aaee0896d8.tar.gz onionshare-0350cb3cdca2a013cba7ec4cae1068aaee0896d8.zip |
catch exceptions when cleaning up hidden services
-rw-r--r-- | onionshare/onionshare.py | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/onionshare/onionshare.py b/onionshare/onionshare.py index e08b1a61..d29b09c5 100644 --- a/onionshare/onionshare.py +++ b/onionshare/onionshare.py @@ -67,19 +67,25 @@ class OnionShare(object): self.cleanup_filenames = [] def cleanup(self): - if self.controller: - # Get fresh hidden services (maybe changed since last time) - # and remove ourselves - hsdic = self.controller.get_conf_map('HiddenServiceOptions') or { - 'HiddenServiceDir': [], 'HiddenServicePort': [] - } - if self.hidserv_dir and self.hidserv_dir in hsdic.get('HiddenServiceDir', []): - dropme = hsdic['HiddenServiceDir'].index(self.hidserv_dir) - del hsdic['HiddenServiceDir'][dropme] - del hsdic['HiddenServicePort'][dropme] - self.controller.set_options(hsdic2list(hsdic)) - # Politely close the controller - self.controller.close() + # cleanup hidden service + try: + if self.controller: + # Get fresh hidden services (maybe changed since last time) + # and remove ourselves + hsdic = self.controller.get_conf_map('HiddenServiceOptions') or { + 'HiddenServiceDir': [], 'HiddenServicePort': [] + } + if self.hidserv_dir and self.hidserv_dir in hsdic.get('HiddenServiceDir', []): + dropme = hsdic['HiddenServiceDir'].index(self.hidserv_dir) + del hsdic['HiddenServiceDir'][dropme] + del hsdic['HiddenServicePort'][dropme] + self.controller.set_options(hsdic2list(hsdic)) + # Politely close the controller + self.controller.close() + except: + pass + + # cleanup files for filename in self.cleanup_filenames: if os.path.isfile(filename): os.remove(filename) |