Cat
wrapper.py
Go to the documentation of this file.
1 import sys, os
2 from libCatKernel import *
3 
4 class wrapper():
5  def __init__(self, cat, obj, type):
6  path=os.path.join(os.environ.get("CATPATH"), obj.dllName(),"python", type)
7  if (type=="element"):
8  filename=os.path.join(path,obj.type()+".py")
9  elif (type=="proc"):
10  filename=os.path.join(path,obj.name()+".py")
11  self.cat=cat
12  # (dict , source , filename , path , error information )
13  # ( 0 , 1 , 2 , 3 , 4 )
14  self.modules = [None, "" , filename , path , None]
15  self.ok = self.LoadFromFile()
16 
17  def LoadFromFile(self):
18  if os.path.isfile(self.modules[2]) :
19  file = open(self.modules[2],"rt")
20  self.LoadFromSource(file.read())
21  file.close()
22  return True
23  else :
24  self.cat.debug("file "+ self.modules[2] + " does not exits. No plot associated to this processus.","wrapper.py")
25  return False
26 
27  def LoadFromSource(self,source):
28  self.modules[1] = source
29  self.LoadDict()
30 
31  def LoadDict(self):
32  source = self.modules[1]
33  self.modules[0] = {}
34  code = compile(source, "wrap" , "exec")
35 # print source
36  exec code in self.modules[0]
37 
38  def GetFilePath(self):
39  return self.modules[3]
40 
41  def GetFilename(self):
42  return self.modules[2]
43 
44  def GetActive(self):
45  dict = self.modules[0]
46  if dict is None:
47  return None
48  else:
49  return ModuleDictWrapper(dict)
50 
51 
52 #---------------------------------------------------------------------------
53 
55  """Emulates a module with a dynamically compiled __dict__"""
56  def __init__(self, dict):
57  self.dict = dict
58 
59  def __getattr__(self, name):
60  if name in self.dict:
61  return self.dict[name]
62  else:
63  raise AttributeError
64 
65 #----------------------------------------------------------------------
66 
67 
def GetFilePath(self)
Definition: wrapper.py:38
def GetActive(self)
Definition: wrapper.py:44
def GetFilename(self)
Definition: wrapper.py:41
def __init__(self, dict)
Definition: wrapper.py:56
def __init__(self, cat, obj, type)
Definition: wrapper.py:5
def __getattr__(self, name)
Definition: wrapper.py:59
def LoadDict(self)
Definition: wrapper.py:31
def LoadFromSource(self, source)
Definition: wrapper.py:27
def LoadFromFile(self)
Definition: wrapper.py:17