File: python.py.in

package info (click to toggle)
modules 5.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,493; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (34 lines) | stat: -rw-r--r-- 1,291 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from __future__ import print_function
import os, sys, re, subprocess

# define modules runtime quarantine configuration
@setquarvars@os.environ['MODULES_RUN_QUARANTINE'] = '@RUN_QUARANTINE@'
@setquarvars@@os.environ['RUNENV_VAR'] = 'RUNENV_VAL'@
@notsetquarvars@#os.environ['MODULES_RUN_QUARANTINE'] = 'ENVVARNAME'
@notsetquarvars@
# setup quarantine if defined
_mlre = os.environ.copy()
if 'MODULES_RUN_QUARANTINE' in os.environ:
   for _mlv in os.environ['MODULES_RUN_QUARANTINE'].split():
      if re.match('^[A-Za-z_][A-Za-z0-9_]*$', _mlv):
         if _mlv in os.environ:
            _mlre['__MODULES_QUAR_' + _mlv] = os.environ[_mlv]
         _mlrv = 'MODULES_RUNENV_' + _mlv
         if _mlrv in os.environ:
            _mlre[_mlv] = os.environ[_mlrv]
         else:
            _mlre[_mlv] = ''
   _mlre['__MODULES_QUARANTINE_SET'] = '1'

# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
out, err = subprocess.Popen(['@TCLSH@', '@libexecdir@/modulecmd.tcl', 'python', 'autoinit'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=_mlre).communicate()

exec(out)
if err.decode():
   print(err.decode(), end='', file=sys.stderr)

# clean temp variables
del _mlre
del out
del err