Source code for ebonite.utils.fs

import contextlib
import inspect
import os


[docs]def get_lib_path(*filename): path = __file__ for _ in range(len(__name__.split('.')) - 1): path = os.path.dirname(path) return os.path.join(path, *filename)
[docs]def current_module_path(*path): stack = inspect.stack() caller_path = stack[1][1] return os.path.join(os.path.dirname(caller_path), *path)
[docs]@contextlib.contextmanager def switch_curdir(path): """Context manager to temproary switch current dir""" prev_path = os.path.abspath('.') try: try: os.chdir(path) except FileNotFoundError: pass yield finally: os.chdir(prev_path)