Source code for snakemake.executors

__author__ = "Johannes Köster"
__copyright__ = "Copyright 2022, Johannes Köster"
__email__ = "johannes.koester@uni-due.de"
__license__ = "MIT"

import os
import contextlib

from snakemake.logging import logger


[docs] @contextlib.contextmanager def change_working_directory(directory=None): """Change working directory in execution context if provided.""" if directory: try: saved_directory = os.getcwd() logger.info(f"Changing to shadow directory: {directory}") os.chdir(directory) yield finally: os.chdir(saved_directory) else: yield