xref: /petsc/config/BuildSystem/pythonpath.py (revision 5b6bfdb9644f185dbf5e5a09b808ec241507e1e7)
1179860b2SJed Brown#!/usr/bin/env python
2*5b6bfdb9SJed Brownfrom __future__ import print_function
3*5b6bfdb9SJed Brownfrom __future__ import absolute_import
4179860b2SJed Brownimport user
5179860b2SJed Brownimport project
6179860b2SJed Brownimport RDict
7179860b2SJed Brown
8179860b2SJed Brownimport os
9179860b2SJed Brownimport sys
10179860b2SJed Brown
11179860b2SJed Browndef getPythonPath():
12179860b2SJed Brown  if 'PYTHONPATH' in os.environ:
13179860b2SJed Brown    PYTHONPATH = filter(lambda p: len(p), os.environ['PYTHONPATH'].split(os.path.pathsep))
14179860b2SJed Brown  else:
15179860b2SJed Brown    PYTHONPATH = []
16179860b2SJed Brown  argsDB   = RDict.RDict(parentDirectory = os.path.abspath(os.path.dirname(sys.modules['RDict'].__file__)))
17179860b2SJed Brown  projects = argsDB['installedprojects']
18179860b2SJed Brown  for p in projects:
19179860b2SJed Brown    try:
20179860b2SJed Brown      root = p.getPythonPath()
21179860b2SJed Brown      for r in root:
22179860b2SJed Brown        if not r in PYTHONPATH:
23179860b2SJed Brown          PYTHONPATH.append(r)
24179860b2SJed Brown    except: pass
25179860b2SJed Brown  return ':'.join(PYTHONPATH)
26179860b2SJed Brown
27179860b2SJed Brownif __name__ ==  '__main__':
28179860b2SJed Brown  if len(sys.argv) > 1: sys.exit('Usage: pythonpath.py')
29*5b6bfdb9SJed Brown  print(getPythonPath())
30179860b2SJed Brown
31