equal
deleted
inserted
replaced
5 :copyright: 2001-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
5 :copyright: 2001-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
6 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
6 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
7 """ |
7 """ |
8 __docformat__ = "restructuredtext en" |
8 __docformat__ = "restructuredtext en" |
9 |
9 |
10 from mx.DateTime import DateTimeFromTicks, now, gmtime |
10 from datetime import datetime |
11 |
11 |
12 # time delta usable to convert localized time to GMT time |
12 # time delta usable to convert localized time to GMT time |
13 GMTOFFSET = - (now() - gmtime()) |
13 GMTOFFSET = - (datetime.now() - datetime.utcnow()) |
14 |
14 |
15 class NoHTTPCacheManager(object): |
15 class NoHTTPCacheManager(object): |
16 """default cache manager: set no-cache cache control policy""" |
16 """default cache manager: set no-cache cache control policy""" |
17 def __init__(self, view): |
17 def __init__(self, view): |
18 self.view = view |
18 self.view = view |
103 modified. Take care of possible related objects modifications. |
103 modified. Take care of possible related objects modifications. |
104 |
104 |
105 /!\ must return GMT time /!\ |
105 /!\ must return GMT time /!\ |
106 """ |
106 """ |
107 # XXX check view module's file modification time in dev mod ? |
107 # XXX check view module's file modification time in dev mod ? |
108 ctime = gmtime() |
108 ctime = datetime.utcnow() |
109 if self.cache_max_age: |
109 if self.cache_max_age: |
110 mtime = self.req.header_if_modified_since() |
110 mtime = self.req.header_if_modified_since() |
111 if mtime: |
111 if mtime: |
112 if (ctime - mtime).seconds > self.cache_max_age: |
112 tdelta = (ctime - mtime) |
|
113 if tdelta.days * 24*60*60 + tdelta.seconds > self.cache_max_age: |
113 mtime = ctime |
114 mtime = ctime |
114 else: |
115 else: |
115 mtime = ctime |
116 mtime = ctime |
116 else: |
117 else: |
117 mtime = ctime |
118 mtime = ctime |