Use try..finally blocks to ensure calls within context manager

This commit is contained in:
Eric Torres
2019-04-17 20:22:28 -07:00
parent bbeebecd4f
commit a7d30cf91d
2 changed files with 17 additions and 9 deletions

View File

@ -108,9 +108,11 @@ def change_umask():
"""Creates a context manager in which the umask is changed. This is to ensure that
the script's desired umask is not visible to the user.
"""
old_umask = os.umask(SCRIPT_UMASK)
yield
os.umask(old_umask)
try:
old_umask = os.umask(SCRIPT_UMASK)
yield
finally:
os.umask(old_umask)
# ========== Main Script ==========