Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
commit 6223352ffc47bd8301bcaef26cac0b2e7221d9fb Author: Miroslav Suchý msuchy@redhat.com Date: Fri Feb 14 16:28:02 2014 +0100
[cli] allow to get data from sent build
copr_cli/subcommands.py | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/copr_cli/subcommands.py b/copr_cli/subcommands.py index c3247b4..53a4fab 100644 --- a/copr_cli/subcommands.py +++ b/copr_cli/subcommands.py @@ -183,9 +183,12 @@ def status(build_id): (ret, value) = _fetch_status(build_id) print(value)
+def build(copr, pkgs, memory, timeout, wait=True, result=None): + """ Build a new package into a given copr.
-def build(copr, pkgs, memory, timeout, wait=True): - """ Build a new package into a given copr. """ + Result is dictionary where is returned "errmsg" in case of error. + And "id" and "status" otherwise. + """ user = get_user() copr_api_url = get_api_url() URL = "{0}/coprs/{1}/{2}/new_build/".format( @@ -211,11 +214,16 @@ def build(copr, pkgs, memory, timeout, wait=True): print("Build ID: {0}".format(output["id"])) print("Watching build (this may be safely interrupted)...") prevstatus = None + if result is not None: + result['id'] = output["id"] try: while True: (ret, status) = _fetch_status(output["id"]) if not ret: - print("Unable to get build status: {0}".format(status)) + errmsg = "Unable to get build status: {0}".format(status) + print errmsg + if result is not None: + result['errmsg'] = errmsg return False
now = datetime.datetime.now() @@ -224,6 +232,8 @@ def build(copr, pkgs, memory, timeout, wait=True): prevstatus = status
if status in ["succeeded", "failed"]: + if result is not None: + result['status'] = status return True
time.sleep(60)