xref: /petsc/config/BuildSystem/pythonpath.py (revision 179860b23afbef20daed3359c1645679d1efa988)
1*179860b2SJed Brown#!/usr/bin/env python
2*179860b2SJed Brownimport user
3*179860b2SJed Brownimport project
4*179860b2SJed Brownimport RDict
5*179860b2SJed Brown
6*179860b2SJed Brownimport os
7*179860b2SJed Brownimport sys
8*179860b2SJed Brown
9*179860b2SJed Browndef getPythonPath():
10*179860b2SJed Brown  if 'PYTHONPATH' in os.environ:
11*179860b2SJed Brown    PYTHONPATH = filter(lambda p: len(p), os.environ['PYTHONPATH'].split(os.path.pathsep))
12*179860b2SJed Brown  else:
13*179860b2SJed Brown    PYTHONPATH = []
14*179860b2SJed Brown  argsDB   = RDict.RDict(parentDirectory = os.path.abspath(os.path.dirname(sys.modules['RDict'].__file__)))
15*179860b2SJed Brown  projects = argsDB['installedprojects']
16*179860b2SJed Brown  for p in projects:
17*179860b2SJed Brown    try:
18*179860b2SJed Brown      root = p.getPythonPath()
19*179860b2SJed Brown      for r in root:
20*179860b2SJed Brown        if not r in PYTHONPATH:
21*179860b2SJed Brown          PYTHONPATH.append(r)
22*179860b2SJed Brown    except: pass
23*179860b2SJed Brown  return ':'.join(PYTHONPATH)
24*179860b2SJed Brown
25*179860b2SJed Brownif __name__ ==  '__main__':
26*179860b2SJed Brown  if len(sys.argv) > 1: sys.exit('Usage: pythonpath.py')
27*179860b2SJed Brown  print getPythonPath()
28*179860b2SJed Brown
29