open files via the 'with' statement, to avoid ResourceWarnings on unclosed files

This commit is contained in:
Miguel Jacq 2017-05-23 21:22:14 +10:00
parent 444f50868d
commit 36de1951e7
No known key found for this signature in database
GPG Key ID: EEA4341C6D97A0B6
4 changed files with 16 additions and 9 deletions

View File

@ -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))

View File

@ -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()

View File

@ -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

View File

@ -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()