Use try..finally blocks to ensure calls within context manager
This commit is contained in:
@@ -108,9 +108,11 @@ def change_umask():
|
|||||||
"""Creates a context manager in which the umask is changed. This is to ensure that
|
"""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.
|
the script's desired umask is not visible to the user.
|
||||||
"""
|
"""
|
||||||
old_umask = os.umask(SCRIPT_UMASK)
|
try:
|
||||||
yield
|
old_umask = os.umask(SCRIPT_UMASK)
|
||||||
os.umask(old_umask)
|
yield
|
||||||
|
finally:
|
||||||
|
os.umask(old_umask)
|
||||||
|
|
||||||
|
|
||||||
# ========== Main Script ==========
|
# ========== Main Script ==========
|
||||||
|
@@ -95,9 +95,12 @@ def merge_include_files():
|
|||||||
|
|
||||||
:return: path-like object
|
:return: path-like object
|
||||||
"""
|
"""
|
||||||
filelist = merge_files(get_files_by_suffix("-include.conf"))
|
try:
|
||||||
yield filelist
|
# filelist is guaranteed to exist at this point
|
||||||
filelist.unlink()
|
filelist = merge_files(get_files_by_suffix("-include.conf"))
|
||||||
|
yield filelist
|
||||||
|
finally:
|
||||||
|
filelist.unlink()
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
@@ -106,9 +109,12 @@ def merge_exclude_files():
|
|||||||
|
|
||||||
:return: path-like object
|
:return: path-like object
|
||||||
"""
|
"""
|
||||||
filelist = merge_files(get_files_by_suffix("-exclude.conf"))
|
try:
|
||||||
yield filelist
|
# filelist is guaranteed to exist at this point
|
||||||
filelist.unlink()
|
filelist = merge_files(get_files_by_suffix("-exclude.conf"))
|
||||||
|
yield filelist
|
||||||
|
finally:
|
||||||
|
filelist.unlink()
|
||||||
|
|
||||||
|
|
||||||
def parse_configfile():
|
def parse_configfile():
|
||||||
|
Reference in New Issue
Block a user