Source code for cookiecutter.context_manager
"""Function to handle directory context."""
import contextlib
import os
[docs]@contextlib.contextmanager
def work_in(dirname=None):
"""Context manager version of os.chdir.
When exited, returns to the working directory prior to entering.
"""
curdir = os.getcwd()
try:
if dirname is not None:
os.chdir(dirname)
yield
finally:
os.chdir(curdir)