aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2015-06-16 12:33:56 -0700
committerMicah Lee <micah@micahflee.com>2015-06-16 12:33:56 -0700
commit0350cb3cdca2a013cba7ec4cae1068aaee0896d8 (patch)
tree9570c5a81c5f009a3b104b9c0bbcbfb31905b757
parent2e39382126ac8f374b4cb4c8c5b251695d6f2591 (diff)
downloadonionshare-0350cb3cdca2a013cba7ec4cae1068aaee0896d8.tar.gz
onionshare-0350cb3cdca2a013cba7ec4cae1068aaee0896d8.zip
catch exceptions when cleaning up hidden services
-rw-r--r--onionshare/onionshare.py32
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)