Implement custom context manager for changing CWD

Signed-off-by: Lumír Balhar <lbalhar@redhat.com>
This commit is contained in:
Lumir Balhar 2019-08-27 12:25:20 +02:00
parent fb14f41ddb
commit 60458c8ae7
1 changed files with 15 additions and 0 deletions

View File

@ -1,6 +1,7 @@
from __future__ import absolute_import
from __future__ import unicode_literals
import contextlib
import os
from compose.config.config import ConfigDetails
@ -55,3 +56,17 @@ def create_host_file(client, filename):
content = fh.read()
return create_custom_host_file(client, filename, content)
@contextlib.contextmanager
def cd(path):
"""
A context manager which changes the working directory to the given
path, and then changes it back to its previous value on exit.
"""
prev_cwd = os.getcwd()
os.chdir(path)
try:
yield
finally:
os.chdir(prev_cwd)