scanner: switch form iso8601 to unix timestamp for python3.5 support

This commit is contained in:
Michael Pöhn 2022-09-30 14:18:31 +02:00
parent 9560ed955c
commit 59b1899d79
2 changed files with 9 additions and 9 deletions

View File

@ -170,7 +170,7 @@ class SignatureDataController:
last_updated = self.data.get("last_updated", None)
if last_updated:
try:
last_updated = datetime.fromisoformat(last_updated)
last_updated = datetime.fromtimestamp(last_updated)
except ValueError as e:
raise SignatureDataMalformedException() from e
except TypeError as e:
@ -247,7 +247,7 @@ class SignatureDataController:
logging.debug(_("downloading '{}'").format(self.url))
with urllib.request.urlopen(self.url) as f:
self.set_data(json.load(f))
self.data['last_updated'] = scanner._datetime_now().isoformat()
self.data['last_updated'] = scanner._datetime_now().timestamp()
class ExodusSignatureDataController(SignatureDataController):
@ -260,8 +260,8 @@ class ExodusSignatureDataController(SignatureDataController):
data = {
"signatures": {},
"timestamp": scanner._datetime_now().isoformat(),
"last_updated": scanner._datetime_now().isoformat(),
"timestamp": scanner._datetime_now().timestamp(),
"last_updated": scanner._datetime_now().timestamp(),
"version": SCANNER_CACHE_VERSION,
}
@ -1104,7 +1104,7 @@ SUSS_DEFAULT = '''{
"license": "NonFree"
}
},
"timestamp": "2022-09-29T19:35:04.875586+00:00",
"timestamp": 1664480104.875586,
"version": 1,
"last_updated": "2022-09-30T05:13:18.411707+02:00"
"last_updated": 1664480104.875586
}'''

View File

@ -508,19 +508,19 @@ class Test_SignatureDataController(unittest.TestCase):
# check_last_updated
def test_check_last_updated_ok(self):
sdc = fdroidserver.scanner.SignatureDataController('nnn', 'fff.yml', 'https://example.com/test.json')
sdc.data['last_updated'] = datetime.utcnow().isoformat()
sdc.data['last_updated'] = datetime.utcnow().timestamp()
sdc.check_last_updated()
def test_check_last_updated_exception_cache_outdated(self):
sdc = fdroidserver.scanner.SignatureDataController('nnn', 'fff.yml', 'https://example.com/test.json')
sdc.cache_duration = timedelta(days=7)
sdc.data['last_updated'] = (datetime.utcnow() - timedelta(days=30)).isoformat()
sdc.data['last_updated'] = (datetime.utcnow() - timedelta(days=30)).timestamp()
with self.assertRaises(fdroidserver.scanner.SignatureDataOutdatedException):
sdc.check_last_updated()
def test_check_last_updated_exception_not_string(self):
sdc = fdroidserver.scanner.SignatureDataController('nnn', 'fff.yml', 'https://example.com/test.json')
sdc.data['last_updated'] = 12345
sdc.data['last_updated'] = 'sepp'
with self.assertRaises(fdroidserver.scanner.SignatureDataMalformedException):
sdc.check_last_updated()