Introduced optional argument to last_crx - return latest crx that is not newer than the passed date/time.

This commit is contained in:
Achim D. Brucker 2017-07-05 08:21:00 +01:00
parent 30c0b92979
commit 600ec933f4
1 changed files with 5 additions and 3 deletions

View File

@ -36,7 +36,7 @@ import shutil
import tarfile
import tempfile
import time
import dateutil.parser
class Error(Exception):
pass
@ -177,13 +177,15 @@ def last_modified_http_date(path):
return httpdate(dateutil.parser.parse(last_modified_utc_date(path)))
def last_crx(archivedir, extid):
def last_crx(archivedir, extid,date=None):
last_crx = ""
tar = os.path.join(archivedir, get_local_archive_dir(extid),
extid + ".tar")
if os.path.exists(tar):
t = tarfile.open(tar, 'r')
old_crxs = sorted([x.name for x in t.getmembers() if x.name.endswith(".crx") and x.size > 0])
old_crxs = sorted([x.name for x in t.getmembers() if x.name.endswith(".crx")
and x.size > 0
and (date is None or (dateutil.parser.parse(os.path.split(os.path.split(x.name)[0])[1]) <= date))])
t.close()
if old_crxs != []:
last_crx = old_crxs[-1]