aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2017-05-23 21:22:14 +1000
committerMiguel Jacq <mig@mig5.net>2017-05-23 21:22:14 +1000
commit36de1951e75f9458f06679295018ed21be2ef330 (patch)
tree3fe86fc712038ceb4826906191f078c1beba219e
parent444f50868dbfb78f1cacafe032a05c1f945ea8ef (diff)
downloadonionshare-36de1951e75f9458f06679295018ed21be2ef330.tar.gz
onionshare-36de1951e75f9458f06679295018ed21be2ef330.zip
open files via the 'with' statement, to avoid ResourceWarnings on unclosed files
-rw-r--r--onionshare/common.py9
-rw-r--r--onionshare/onion.py6
-rw-r--r--onionshare/settings.py5
-rw-r--r--onionshare/strings.py5
4 files changed, 16 insertions, 9 deletions
diff --git a/onionshare/common.py b/onionshare/common.py
index 232328d7..58e7b886 100644
--- a/onionshare/common.py
+++ b/onionshare/common.py
@@ -94,7 +94,9 @@ def get_version():
"""
Returns the version of OnionShare that is running.
"""
- return open(get_resource_path('version.txt')).read().strip()
+ with open(get_resource_path('version.txt')) as f:
+ version = f.read().strip()
+ return version
def constant_time_compare(val1, val2):
@@ -133,8 +135,9 @@ def build_slug():
"""
Returns a random string made from two words from the wordlist, such as "deter-trig".
"""
- wordlist = open(get_resource_path('wordlist.txt')).read().split('\n')
- wordlist.remove('')
+ with open(get_resource_path('wordlist.txt')) as f:
+ wordlist = f.read().split('\n')
+ wordlist.remove('')
r = SystemRandom()
return '-'.join(r.choice(wordlist) for x in range(2))
diff --git a/onionshare/onion.py b/onionshare/onion.py
index 4d69ebeb..84639718 100644
--- a/onionshare/onion.py
+++ b/onionshare/onion.py
@@ -178,7 +178,8 @@ class Onion(object):
self.tor_torrc = os.path.join(self.tor_data_directory.name, 'torrc')
else:
# Linux and Mac can use unix sockets
- torrc_template = open(common.get_resource_path('torrc_template')).read()
+ with open(common.get_resource_path('torrc_template')) as f:
+ torrc_template = f.read()
self.tor_control_port = None
self.tor_control_socket = os.path.join(self.tor_data_directory.name, 'control_socket')
self.tor_cookie_auth_file = os.path.join(self.tor_data_directory.name, 'cookie')
@@ -192,7 +193,8 @@ class Onion(object):
torrc_template = torrc_template.replace('{{geo_ip_file}}', self.tor_geo_ip_file_path)
torrc_template = torrc_template.replace('{{geo_ipv6_file}}', self.tor_geo_ipv6_file_path)
torrc_template = torrc_template.replace('{{socks_port}}', str(self.tor_socks_port))
- open(self.tor_torrc, 'w').write(torrc_template)
+ with open(self.tor_torrc, 'w') as f:
+ f.write(torrc_template)
# Execute a tor subprocess
start_ts = time.time()
diff --git a/onionshare/settings.py b/onionshare/settings.py
index b5f873aa..97c67742 100644
--- a/onionshare/settings.py
+++ b/onionshare/settings.py
@@ -85,8 +85,9 @@ class Settings(object):
# If the settings file exists, load it
if os.path.exists(self.filename):
try:
- self._settings = json.loads(open(self.filename, 'r').read())
- self.fill_in_defaults()
+ with open(self.filename, 'r') as f:
+ self._settings = json.loads(f.read())
+ self.fill_in_defaults()
except:
pass
diff --git a/onionshare/strings.py b/onionshare/strings.py
index 95fcc107..5a499a4b 100644
--- a/onionshare/strings.py
+++ b/onionshare/strings.py
@@ -38,8 +38,9 @@ def load_strings(common, default="en"):
abs_filename = os.path.join(locale_dir, filename)
lang, ext = os.path.splitext(filename)
if abs_filename.endswith('.json'):
- lang_json = open(abs_filename, encoding='utf-8').read()
- translations[lang] = json.loads(lang_json)
+ with open(abs_filename, encoding='utf-8') as f:
+ lang_json = f.read()
+ translations[lang] = json.loads(lang_json)
strings = translations[default]
lc, enc = locale.getdefaultlocale()