equal
deleted
inserted
replaced
25 |
25 |
26 from logilab.mtconverter import xml_escape |
26 from logilab.mtconverter import xml_escape |
27 from logilab.common.date import todatetime |
27 from logilab.common.date import todatetime |
28 |
28 |
29 from cubicweb.utils import json_dumps, make_uid |
29 from cubicweb.utils import json_dumps, make_uid |
30 from cubicweb.interfaces import ICalendarable |
30 from cubicweb.predicates import adaptable |
31 from cubicweb.predicates import implements, adaptable |
31 from cubicweb.view import EntityView, EntityAdapter |
32 from cubicweb.view import EntityView, EntityAdapter, implements_adapter_compat |
|
33 |
32 |
34 # useful constants & functions ################################################ |
33 # useful constants & functions ################################################ |
35 |
34 |
36 ONEDAY = timedelta(1) |
35 ONEDAY = timedelta(1) |
37 |
36 |
44 |
43 |
45 |
44 |
46 class ICalendarableAdapter(EntityAdapter): |
45 class ICalendarableAdapter(EntityAdapter): |
47 __needs_bw_compat__ = True |
46 __needs_bw_compat__ = True |
48 __regid__ = 'ICalendarable' |
47 __regid__ = 'ICalendarable' |
49 __select__ = implements(ICalendarable, warn=False) # XXX for bw compat, should be abstract |
48 __abstract__ = True |
50 |
49 |
51 @property |
50 @property |
52 @implements_adapter_compat('ICalendarable') |
|
53 def start(self): |
51 def start(self): |
54 """return start date""" |
52 """return start date""" |
55 raise NotImplementedError |
53 raise NotImplementedError |
56 |
54 |
57 @property |
55 @property |
58 @implements_adapter_compat('ICalendarable') |
|
59 def stop(self): |
56 def stop(self): |
60 """return stop date""" |
57 """return stop date""" |
61 raise NotImplementedError |
58 raise NotImplementedError |
62 |
59 |
63 |
60 |