1
2 from datetime import timedelta
3 from amplee.utils import parse_isodate
4
5 import amara
6
7 __all__ = ['app_edited_comparer', 'app_updated_comparer']
8
9 _zero_delta = timedelta(0)
10
12 if hasattr(m0, 'atom'):
13 m0 = m0.atom.entry
14 e0 = m0.xml_child_elements.get('edited')
15 if not e0:
16 return 1
17
18 if hasattr(m1, 'atom'):
19 m1 = m1.atom.entry
20 e1 = m1.xml_child_elements.get('edited')
21 if not e1:
22 return -1
23
24 d0 = parse_isodate(str(e0))
25 d1 = parse_isodate(str(e1))
26
27 delta = d1 - d0
28
29 if delta == _zero_delta:
30 return 0
31 if delta.days < 0:
32 return -1
33 if delta != _zero_delta:
34 return 1
35
37 if hasattr(m0, 'atom'):
38 m0 = m0.atom.entry
39 e0 = m0.xml_child_elements.get('updated')
40 if not e0:
41 return 1
42
43 if hasattr(m1, 'atom'):
44 m1 = m1.atom.entry
45 e1 = m1.xml_child_elements.get('updated')
46 if not e1:
47 return -1
48
49 d0 = parse_isodate(str(e0))
50 d1 = parse_isodate(str(e1))
51
52 delta = d1 - d0
53
54 if delta == _zero_delta:
55 return 0
56 if delta.days < 0:
57 return -1
58 if delta != _zero_delta:
59 return 1
60