summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Bahling <sbahling@suse.de>2016-02-20 20:21:37 +0100
committerScott Bahling <sbahling@suse.de>2016-02-20 20:21:37 +0100
commitf8ef4e18bc77d391aabff248fd7ee13a1303150e (patch)
tree8ed90be5d8341a53713e220be1201d7b3b983776
parentd8ed26683890b5a119ae59dd7cd3d55dd5bc7bb9 (diff)
downloadobsapi-f8ef4e18bc77d391aabff248fd7ee13a1303150e.tar.gz
obsapi-f8ef4e18bc77d391aabff248fd7ee13a1303150e.tar.xz
obsapi-f8ef4e18bc77d391aabff248fd7ee13a1303150e.zip
Implement source_info
-rw-r--r--obsapi/core.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/obsapi/core.py b/obsapi/core.py
index c56d410..2c84123 100644
--- a/obsapi/core.py
+++ b/obsapi/core.py
@@ -12,7 +12,8 @@ except:
LSItem = namedtuple('LSItem', 'name md5 size mtime')
-Directory = namedtuple('Directory', 'name rev, vrev, srcmd5')
+Directory = namedtuple('Directory', 'name rev vrev srcmd5')
+SourceInfo = namedtuple('SourceInfo', 'package rev vrev srcmd5 verifymd5')
Binary = namedtuple('Binary', 'filename size mtime')
DEFAULTAPIURL = 'https://api.opensuse.org'
@@ -233,6 +234,20 @@ class ObsApi(object):
)
return (directory, lsitems)
+ def source_info(self, prj, pkg):
+ api = '/source/{}/{}'.format(prj, pkg)
+ query = {'view': 'info'}
+ xml = self.get_xml(api, payload=query)
+ tree = etree.fromstring(xml)
+ sinfo = SourceInfo(tree.get('package'),
+ tree.get('rev'),
+ tree.get('vrev'),
+ tree.get('srcmd5'),
+ tree.get('verifymd5')
+ )
+
+ return sinfo
+
def get_binaries(self, prj, pkg, repo, arch):
api = '/build/{}/{}/{}/{}'.format(prj, repo, arch, pkg)
xml = self.get_xml(api)