File indexing completed on 2024-11-03 08:24:27
0001 # -*- coding: UTF-8 -*- 0002 0003 """ 0004 Insert fallback import paths in scripts. 0005 0006 In case the C{PYTHONPATH} environment variable does not contain path 0007 to Pology library modules needed by scripts, this module will append 0008 all guesses for Pology library paths to system path. 0009 The assumption is that scripts themselves are in their default location 0010 in Pology source tree. 0011 0012 Import this module before any imports from Pology library, in each script 0013 in this directory that depends on Pology library:: 0014 0015 try: 0016 import fallback_import_paths 0017 except: 0018 pass 0019 0020 from pology.foo import bar 0021 from pology.qwyx import baz 0022 ... 0023 0024 The try-except wrapper is needed because when scripts are properly installed, 0025 this module will not be available (nor needed). 0026 0027 @author: Chusslove Illich (Часлав Илић) <caslav.ilic@gmx.net> 0028 @license: GPLv3 0029 """ 0030 0031 import sys 0032 from os.path import realpath, sep, dirname 0033 0034 pologypath = sep.join(realpath(sys.argv[0]).split(sep)[:-2]) 0035 sys.path.insert(0, pologypath)