mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-24 15:16:41 +00:00
util/time_format: new routine to parse dates like 2009-03-18, switch expirer to use it. I'd prefer to use 18-Mar-2009, but it is surprisingly non-trivial to build a parser that will take UTC dates instead of local dates
This commit is contained in:
parent
8eaee28550
commit
babcf632da
@ -169,9 +169,9 @@ expire.cutoff_date = (date string, required if mode=date-cutoff)
|
|||||||
create/renew timestamp is older than the cutoff date. This string will be a
|
create/renew timestamp is older than the cutoff date. This string will be a
|
||||||
date in the following format:
|
date in the following format:
|
||||||
|
|
||||||
16-Jan-2009
|
2009-01-16 (January 16th, 2009)
|
||||||
02-Feb-2008
|
2008-02-02
|
||||||
25-Dec-2007
|
2007-12-25
|
||||||
|
|
||||||
The actual cutoff time shall be midnight UTC at the beginning of the given
|
The actual cutoff time shall be midnight UTC at the beginning of the given
|
||||||
day. Lease timers should naturally be generous enough to not depend upon
|
day. Lease timers should naturally be generous enough to not depend upon
|
||||||
|
@ -2020,7 +2020,7 @@ class LeaseCrawler(unittest.TestCase, pollmixin.PollMixin, WebRenderingMixin):
|
|||||||
s = remove_tags(html)
|
s = remove_tags(html)
|
||||||
self.failUnlessIn("Expiration Enabled:"
|
self.failUnlessIn("Expiration Enabled:"
|
||||||
" expired leases will be removed", s)
|
" expired leases will be removed", s)
|
||||||
date = time.strftime("%d-%b-%Y", time.gmtime(then))
|
date = time.strftime("%Y-%m-%d", time.gmtime(then))
|
||||||
self.failUnlessIn("Leases created or last renewed before %s"
|
self.failUnlessIn("Leases created or last renewed before %s"
|
||||||
" will be considered expired." % date, s)
|
" will be considered expired." % date, s)
|
||||||
self.failUnlessIn(" recovered: 2 shares, 2 buckets (1 mutable / 1 immutable), ", s)
|
self.failUnlessIn(" recovered: 2 shares, 2 buckets (1 mutable / 1 immutable), ", s)
|
||||||
@ -2164,6 +2164,10 @@ class LeaseCrawler(unittest.TestCase, pollmixin.PollMixin, WebRenderingMixin):
|
|||||||
self.failUnless("no unit (like day, month, or year) in '2kumquats'"
|
self.failUnless("no unit (like day, month, or year) in '2kumquats'"
|
||||||
in str(e), str(e))
|
in str(e), str(e))
|
||||||
|
|
||||||
|
def test_parse_date(self):
|
||||||
|
p = time_format.parse_date
|
||||||
|
self.failUnlessEqual(p("2009-03-18"), 1237334400)
|
||||||
|
|
||||||
def test_limited_history(self):
|
def test_limited_history(self):
|
||||||
basedir = "storage/LeaseCrawler/limited_history"
|
basedir = "storage/LeaseCrawler/limited_history"
|
||||||
fileutil.make_dirs(basedir)
|
fileutil.make_dirs(basedir)
|
||||||
|
@ -58,3 +58,9 @@ def parse_duration(s):
|
|||||||
raise ValueError("no unit (like day, month, or year) in '%s'" % orig)
|
raise ValueError("no unit (like day, month, or year) in '%s'" % orig)
|
||||||
s = s.strip()
|
s = s.strip()
|
||||||
return int(s) * unit
|
return int(s) * unit
|
||||||
|
|
||||||
|
def parse_date(s):
|
||||||
|
# return seconds-since-epoch for the UTC midnight that starts the given
|
||||||
|
# day
|
||||||
|
return iso_utc_time_to_localseconds(s + "T00:00:00")
|
||||||
|
|
||||||
|
@ -138,8 +138,8 @@ class StorageStatus(rend.Page):
|
|||||||
"will be considered expired."
|
"will be considered expired."
|
||||||
% abbreviate_time(lc.override_lease_duration)]
|
% abbreviate_time(lc.override_lease_duration)]
|
||||||
else:
|
else:
|
||||||
assert lc.mode == "date-cutoff"
|
assert lc.mode == "cutoff-date"
|
||||||
date = time.strftime("%d-%b-%Y", time.gmtime(lc.date_cutoff))
|
date = time.strftime("%Y-%m-%d", time.gmtime(lc.cutoff_date))
|
||||||
ctx.tag["Leases created or last renewed before %s "
|
ctx.tag["Leases created or last renewed before %s "
|
||||||
"will be considered expired." % date]
|
"will be considered expired." % date]
|
||||||
if len(lc.mode) > 2:
|
if len(lc.mode) > 2:
|
||||||
|
Loading…
Reference in New Issue
Block a user