Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 7254fee3741132b41c5314a459fea266f5e0877f
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Mon Aug 3 18:17:19 2015 +0200
[backend] support new results naming in the build deletion action
---------------------------------------------------------------
backend/backend/actions.py | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/backend/backend/actions.py b/backend/backend/actions.py
index 83aac77..4fb68f0 100644
--- a/backend/backend/actions.py
+++ b/backend/backend/actions.py
@@ -112,15 +112,21 @@ class Action(object):
projectname = ext_data["projectname"]
chroots_requested = set(ext_data["chroots"])
- if not ext_data.get("src_pkg_name"):
- self.log.error("Delete build action missing `src_pkg_name` field, check
frontend version. Raw ext_data: {}"
+ if "src_pkg_name" not in ext_data and "result_dir_name" not
in ext_data:
+ self.log.error("Delete build action missing `src_pkg_name` or
`result_dir_name` field,"
+ " check frontend version. Raw ext_data: {}"
.format(ext_data))
return
- package_name = ext_data["src_pkg_name"]
+ target_dir = ext_data.get("results_dir_name") or
ext_data.get("src_pkg_name")
+ if target_dir is None or target_dir == "":
+ self.log.error("Bad delete request, ignored. Raw ext_data: {}"
+ .format(ext_data))
+ return
path = os.path.join(self.destdir, project)
- self.log.info("Deleting package {0}".format(package_name))
+
+ self.log.info("Deleting package {0}".format(target_dir))
self.log.info("Copr path {0}".format(path))
try:
@@ -132,20 +138,20 @@ class Action(object):
chroots_to_do = chroot_list.intersection(chroots_requested)
if not chroots_to_do:
self.log.info("Nothing to delete for delete action: package {},
{}"
- .format(package_name, ext_data))
+ .format(target_dir, ext_data))
return
for chroot in chroots_to_do:
self.log.debug("In chroot {0}".format(chroot))
altered = False
- pkg_path = os.path.join(path, chroot, package_name)
+ pkg_path = os.path.join(path, chroot, target_dir)
if os.path.isdir(pkg_path):
self.log.info("Removing build {0}".format(pkg_path))
shutil.rmtree(pkg_path)
altered = True
else:
- self.log.debug("Package {0} dir not found in chroot
{1}".format(package_name, chroot))
+ self.log.debug("Package {0} dir not found in chroot
{1}".format(target_dir, chroot))
if altered:
self.log.debug("Running createrepo")