Package advene :: Package model :: Package cam :: Package util :: Module bookkeeping
[hide private]
[frames] | no frames]

Source Code for Module advene.model.cam.util.bookkeeping

 1  from advene.model.consts import DC_NS_PREFIX 
 2  from advene.util.session import session 
 3   
 4  from datetime import datetime 
 5   
6 -def _make_bookkeeping_data():
7 return datetime.now().isoformat(), session.user
8 9 CREATOR = DC_NS_PREFIX + "creator" 10 CREATED = DC_NS_PREFIX + "created" 11 CONTRIBUTOR = DC_NS_PREFIX + "contributor" 12 MODIFIED = DC_NS_PREFIX + "modified" 13
14 -def init(package, obj):
15 d,u = _make_bookkeeping_data() 16 obj.enter_no_event_section(); \ 17 obj.set_meta(CREATOR, u); \ 18 obj.set_meta(CREATED, d); \ 19 obj.set_meta(CONTRIBUTOR, u); \ 20 obj.set_meta(MODIFIED, d) 21 obj.exit_no_event_section() 22 if obj is not package: 23 package.enter_no_event_section(); \ 24 package.set_meta(CONTRIBUTOR, u); \ 25 package.set_meta(MODIFIED, d) 26 package.exit_no_event_section()
27
28 -def update(obj, *args):
29 d,u = _make_bookkeeping_data() 30 #d = "%s %s" % (d, args) # debug 31 obj.enter_no_event_section(); \ 32 obj.set_meta(CONTRIBUTOR, u); \ 33 obj.set_meta(MODIFIED, d) 34 obj.exit_no_event_section()
35
36 -def update_owner(obj, *args):
37 d,u = _make_bookkeeping_data() 38 #d = "%s %s" % (d, args) # debug 39 package = obj._owner 40 package.enter_no_event_section(); \ 41 package.set_meta(CONTRIBUTOR, u); \ 42 package.set_meta(MODIFIED, d) 43 package.exit_no_event_section()
44
45 -def update_element(obj, *args):
46 # actually a copy of both update and update_owner 47 # but this is more efficient this way, 48 # and since it is going to be called *many* times... 49 d,u = _make_bookkeeping_data() 50 #d = "%s %s" % (d, args) # debug 51 #if obj._id == "at": import pydb; pydb.set_trace() 52 obj.enter_no_event_section(); \ 53 obj.set_meta(CONTRIBUTOR, u); \ 54 obj.set_meta(MODIFIED, d) 55 obj.exit_no_event_section() 56 package = obj._owner 57 package.enter_no_event_section(); \ 58 package.set_meta(CONTRIBUTOR, u); \ 59 package.set_meta(MODIFIED, d) 60 package.exit_no_event_section()
61