Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 6223352ffc47bd8301bcaef26cac0b2e7221d9fb
Author: Miroslav Suchý <msuchy(a)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)