Changeset 404
- Timestamp:
- 01/31/07 16:35:25
- Files:
-
- trunk/engines.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/engines.py
r403 r404 79 79 Timestamp = dejavu.UnitProperty(datetime.datetime) 80 80 81 def __init__(self, **kwargs):82 dejavu.Unit.__init__(self)83 self.Members = []81 def __init__(self, Members=None, **kwargs): 82 if Members is None: 83 Members = [] 84 84 self._mutex = threading.RLock() 85 86 for k, v in kwargs.iteritems(): 87 setattr(self, k, v) 88 89 def __getstate__(self): 90 return (self._properties, self._initial_property_hash) 85 TemporaryUnit.__init__(self, Members=Members, **kwargs) 91 86 92 87 def __setstate__(self, state): 93 self.sandbox = None94 88 self._mutex = threading.RLock() 95 self._properties, self._initial_property_hash = state89 TemporaryUnit.__setstate__(self, state) 96 90 97 91 def acquire(self): … … 152 146 153 147 def __copy__(self): 154 newUnit = dejavu.Unit.__copy__(self)148 newUnit = TemporaryUnit.__copy__(self) 155 149 newUnit.Members = self.Members[:] 156 150 return newUnit … … 195 189 EngineID = EngIDProperty(int, index=True) 196 190 197 def __init__(self, **kwargs):191 def __init__(self, Operation=None, SetID=None, Operand=None, **kwargs): 198 192 """kw: Operation, SetID, Operand=(Type | logic.Expression | otherSet) 199 193 … … 227 221 is Set 1. 228 222 """ 229 dejavu.Unit.__init__(self) 230 231 if kwargs.get('Operation', '') == 'FILTER': 232 op = kwargs.get('Operand') 233 if not isinstance(op, (str, unicode)): 234 if not isinstance(op, logic.Expression): 223 if Operation == 'FILTER': 224 if not isinstance(Operand, basestring): 225 if not isinstance(Operand, logic.Expression): 235 226 # op can be a function 236 op = logic.Expression(op) 237 kwargs['Operand'] = pickle.dumps(op) 238 239 for k, v in kwargs.iteritems(): 240 setattr(self, k, v) 227 Operand= logic.Expression(Operand) 228 Operand = pickle.dumps(Operand) 229 TemporaryUnit.__init__(self, Operation=Operation, SetID=SetID, 230 Operand=Operand, **kwargs) 241 231 242 232 def __repr__(self): … … 273 263 FinalClassName = dejavu.UnitProperty() 274 264 275 def __init__(self, **kwargs): 276 dejavu.Unit.__init__(self) 277 self.Created = datetime.datetime.today() 278 self.Owner = u'' 279 280 for k, v in kwargs.iteritems(): 281 setattr(self, k, v) 265 def __init__(self, Created=None, Owner=u'', **kwargs): 266 if Created is None: 267 Created = datetime.datetime.today() 268 TemporaryUnit.__init__(self, Created=Created, Owner=Owner, **kwargs) 282 269 283 270 def on_forget(self): … … 366 353 367 354 def __copy__(self): 368 newUnit = dejavu.Unit.__copy__(self)355 newUnit = TemporaryUnit.__copy__(self) 369 356 newUnit.Name = "Copy of %s" % newUnit.Name 370 357 newUnit.Created = datetime.datetime.now()
