osclib/core: provide package_source_{changed,age}() functions.
This commit is contained in:
parent
13fa93cede
commit
818685166f
@ -1,6 +1,7 @@
|
|||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from datetime import timezone
|
||||||
from dateutil.parser import parse as date_parse
|
from dateutil.parser import parse as date_parse
|
||||||
import re
|
import re
|
||||||
import socket
|
import socket
|
||||||
@ -526,6 +527,14 @@ def project_meta_revision(apiurl, project):
|
|||||||
apiurl, project, '_project', None, format='xml', meta=True))
|
apiurl, project, '_project', None, format='xml', meta=True))
|
||||||
return int(root.find('logentry').get('revision'))
|
return int(root.find('logentry').get('revision'))
|
||||||
|
|
||||||
|
def package_source_changed(apiurl, project, package):
|
||||||
|
url = makeurl(apiurl, ['source', project, package, '_history'], {'limit': 1})
|
||||||
|
root = ETL.parse(http_GET(url)).getroot()
|
||||||
|
return datetime.fromtimestamp(int(root.find('revision/time').text), timezone.utc).replace(tzinfo=None)
|
||||||
|
|
||||||
|
def package_source_age(apiurl, project, package):
|
||||||
|
return datetime.utcnow() - package_source_changed(apiurl, project, package)
|
||||||
|
|
||||||
def entity_exists(apiurl, project, package=None):
|
def entity_exists(apiurl, project, package=None):
|
||||||
try:
|
try:
|
||||||
http_GET(makeurl(apiurl, list(filter(None, ['source', project, package])) + ['_meta']))
|
http_GET(makeurl(apiurl, list(filter(None, ['source', project, package])) + ['_meta']))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user