Changeset 364
- Timestamp:
- 05/19/08 22:20:37 (8 months ago)
- Files:
-
- trunk/src/dm/dom/temporaltest.py (modified) (7 diffs)
- trunk/src/dm/timepoint.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/dm/dom/temporaltest.py
r307 r364 6 6 from dm.ioc import RequiredFeature 7 7 import mx.DateTime 8 import dm.times 8 9 from time import sleep 9 10 from dm.dom.temporal import TemporalProperty, BitemporalProperty, BitemporalActual … … 68 69 instance = self.collection[''] 69 70 self.failUnlessEqual(instance.title, title1) 70 revision1 = mx.DateTime.now()71 revision1 = self.timepoint.now() 71 72 sleep(1) 72 73 self.instance.title = title2 … … 74 75 self.instance.title = title3 75 76 self.instance.save() 76 revision3 = mx.DateTime.now()77 revision3 = self.timepoint.now() 77 78 sleep(1) 78 79 self.instance.title = title4 … … 101 102 grant1 = self.instance.grants.create(permission1) 102 103 self.instance.save() 103 revision1 = mx.DateTime.now()104 revision1 = self.timepoint.now() 104 105 instance = self.collection[''] 105 106 self.failUnless(permission1 in instance.grants) … … 113 114 grant3 = self.instance.grants.create(permission3) 114 115 self.instance.save() 115 revision3 = mx.DateTime.now()116 revision3 = self.timepoint.now() 116 117 sleep(1) 117 118 grant4 = self.instance.grants.create(permission4) 118 119 self.instance.save() 119 revision4 = mx.DateTime.now()120 revision4 = self.timepoint.now() 120 121 121 122 #print "Sleeping" … … 439 440 "Temporally attributed domain object." 440 441 442 timepoint = RequiredFeature('Timepoint') 443 441 444 # Todo: Exception when register key attribute is temporal. 442 445 name = String(default='', isIndexed=True) 443 446 description = String(default='', isTemporal=True) 444 firstkiss = DateTime(isTemporal=True, default= mx.DateTime.now())447 firstkiss = DateTime(isTemporal=True, default=timepoint.now()) 445 448 state = HasA('State', isTemporal=True, isRequired=False) 446 449 haircolor = String(default='My Natural Color', isBitemporal=True) … … 541 544 temporal.haircolor = haircolor1 542 545 temporal.save() 543 revisionTime = mx.DateTime.now()546 revisionTime = self.timepoint.now() 544 547 sleep(3) 545 548 temporal.description = description2 trunk/src/dm/timepoint.py
r306 r364 1 import mx.DateTime1 import dm.times 2 2 3 class Timepoint(object): 3 """ 4 Timepoint is used with the temporal model classes, used to represent a point 5 in universal time. There are two properties, recorded and actual. 6 7 Most temporal aspects are (uni-)temporal, and time-travelling is achieved by 8 setting the recorded time property before object retrieval. 9 10 If you have a bi-temporal aspect you can also time-travel in actual time. Set 11 the actual property to see what an aspect is at some time in the past, 12 according to how things were recorded at some particular time. 13 """ 14 15 class Timepoint(object): 4 16 5 17 def __init__(self): … … 39 51 40 52 def now(self): 41 return mx.DateTime.now()53 return dm.times.getUniversalNow() 42 54
