diff options
Diffstat (limited to 'repoze/bfg/path.py')
| -rw-r--r-- | repoze/bfg/path.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/repoze/bfg/path.py b/repoze/bfg/path.py new file mode 100644 index 000000000..fcd317fba --- /dev/null +++ b/repoze/bfg/path.py @@ -0,0 +1,15 @@ +import os +import sys + +def caller_path(path, level=2): + if not os.path.isabs(path): + package_globals = sys._getframe(level).f_globals + package_name = package_globals['__name__'] + package = sys.modules[package_name] + prefix = package_path(package) + path = os.path.join(prefix, path) + return path + +def package_path(package): + return os.path.abspath(os.path.dirname(package.__file__)) + |
