Spaces:
Running
Running
import sys | |
import warnings | |
class prepended_to_syspath: | |
"""A context for prepending a directory to sys.path for a second.""" | |
def __init__(self, dir): | |
self.dir = dir | |
def __enter__(self): | |
if self.dir not in sys.path: | |
sys.path.insert(0, self.dir) | |
self.added = True | |
else: | |
self.added = False | |
def __exit__(self, type, value, traceback): | |
if self.added: | |
try: | |
sys.path.remove(self.dir) | |
except ValueError: | |
pass | |
# Returning False causes any exceptions to be re-raised. | |
return False | |