fix: Use context managers to stream data

While executing git commands in the shell via Frappe processes, use
context managers to ensure files get closed after usage. This fixes the
ResourceWarning errors due to unclosed files.
This commit is contained in:
Gavin D'souza 2021-05-26 15:54:36 +05:30
parent d236a93169
commit 1acb2ddd2f

View file

@ -118,9 +118,9 @@ def get_versions():
def get_app_branch(app):
'''Returns branch of an app'''
try:
null_stream = open(os.devnull, 'wb')
result = subprocess.check_output('cd ../apps/{0} && git rev-parse --abbrev-ref HEAD'.format(app),
shell=True, stdin=null_stream, stderr=null_stream)
with open(os.devnull, 'wb') as null_stream:
result = subprocess.check_output(f'cd ../apps/{app} && git rev-parse --abbrev-ref HEAD',
shell=True, stdin=null_stream, stderr=null_stream)
result = safe_decode(result)
result = result.strip()
return result
@ -129,9 +129,9 @@ def get_app_branch(app):
def get_app_last_commit_ref(app):
try:
null_stream = open(os.devnull, 'wb')
result = subprocess.check_output('cd ../apps/{0} && git rev-parse HEAD --short 7'.format(app),
shell=True, stdin=null_stream, stderr=null_stream)
with open(os.devnull, 'wb') as null_stream:
result = subprocess.check_output(f'cd ../apps/{app} && git rev-parse HEAD --short 7',
shell=True, stdin=null_stream, stderr=null_stream)
result = safe_decode(result)
result = result.strip()
return result