| 33 | |
| 34 | |
| 35 | class OMCDImplementation(object): |
| 36 | converter=None |
| 37 | def __init__(self, cd): |
| 38 | object.__setattr__(self,"cd",cd) |
| 39 | #object.__setattr__(self,"converter",None) |
| 40 | def support(self,symbol): |
| 41 | setattr(self,symbol,OMS(symbol, self.cd)) |
| 42 | def __setattr__(self, name,value): |
| 43 | if name=="converter": |
| 44 | object.__setattr__(self,name,value) |
| 45 | return |
| 46 | "FIXME: implements this later safer against name conflicts" |
| 47 | if callable(value) and (not isinstance(value, ImplementedSymbol)): |
| 48 | |
| 49 | if self.converter!=None: |
| 50 | object.__setattr__( |
| 51 | self, |
| 52 | name, |
| 53 | ImplementedSymbol( |
| 54 | OMS(name,self.cd), |
| 55 | self.converter(value))) |
| 56 | else: |
| 57 | object.__setattr__(self, name, ImplementedSymbol(OMS(name,self.cd), value)) |
| 58 | else: |
| 59 | object.__setattr__(self,name,value) |
| 60 | |
| 61 | class OMS(object): |
| 62 | def __init__(self,name,cd = None): |
no outgoing calls
no test coverage detected