12345678910111213141516171819202122232425262728293031323334353637383940 |
- from pcipywrap import *
- import os
- import sys
- class pcilib(pcipywrap):
- def __init__(s, *args):
- pcipywrap.__init__(s, *args)
-
- #load scripts
- scripts_dir = os.environ.get('PCILIB_SCRIPTS_DIR')
- if scripts_dir:
- scripts_dir_abs = os.path.abspath(scripts_dir)
- if not scripts_dir_abs in sys.path:
- sys.path.append(scripts_dir_abs)
-
- s.__scipts = dict()
- for script in os.listdir(scripts_dir_abs):
- if script.endswith('.py'):
- script_module = os.path.splitext(script)[0]
- __import__(script_module)
- s.__scipts[script_module] = sys.modules[script_module]
-
-
- def get_scripts_list(s):
- scripts = []
- for script in s.__scipts:
- curr_script = dict()
- curr_script['name'] = script
- if 'description' in dir(s.__scipts[script]):
- curr_script['description'] = s.__scipts[script].description
- if 'run' in dir(s.__scipts[script]):
- curr_script['valid'] = True
- scripts.append(curr_script)
- return scripts
-
-
- def run_script(s, name, input_value):
- if not name in s.__scipts:
- raise Exception('Script ' + name +' has not loaded')
- return s.__scipts[name].run(s, input_value)
|