xref: /petsc/config/BuildSystem/pythonpath.py (revision df3bd252dbc574245cbbb4edf6b407438c525c05)
1*df3bd252SSatish Balay#!/usr/bin/env python3
25b6bfdb9SJed Brownfrom __future__ import print_function
35b6bfdb9SJed Brownfrom __future__ import absolute_import
4179860b2SJed Brownimport project
5179860b2SJed Brownimport RDict
6179860b2SJed Brown
7179860b2SJed Brownimport os
8179860b2SJed Brownimport sys
9179860b2SJed Brown
10179860b2SJed Browndef getPythonPath():
11179860b2SJed Brown  if 'PYTHONPATH' in os.environ:
12bb3dd2f6SJed Brown    PYTHONPATH = [p for p in os.environ['PYTHONPATH'].split(os.path.pathsep) if len(p)]
13179860b2SJed Brown  else:
14179860b2SJed Brown    PYTHONPATH = []
15179860b2SJed Brown  argsDB   = RDict.RDict(parentDirectory = os.path.abspath(os.path.dirname(sys.modules['RDict'].__file__)))
16179860b2SJed Brown  projects = argsDB['installedprojects']
17179860b2SJed Brown  for p in projects:
18179860b2SJed Brown    try:
19179860b2SJed Brown      root = p.getPythonPath()
20179860b2SJed Brown      for r in root:
21179860b2SJed Brown        if not r in PYTHONPATH:
22179860b2SJed Brown          PYTHONPATH.append(r)
23179860b2SJed Brown    except: pass
24179860b2SJed Brown  return ':'.join(PYTHONPATH)
25179860b2SJed Brown
26179860b2SJed Brownif __name__ ==  '__main__':
27179860b2SJed Brown  if len(sys.argv) > 1: sys.exit('Usage: pythonpath.py')
285b6bfdb9SJed Brown  print(getPythonPath())
29179860b2SJed Brown
30