From 4457c854652ac99b2e17ca5a5116de94d8e90037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCdepohl?= <lorenz.huedepohl@rzg.mpg.de> Date: Thu, 6 Jun 2019 10:42:12 +0200 Subject: [PATCH] Avoid sending unchanged meta-data to server --- mpcdf_common.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/mpcdf_common.py b/mpcdf_common.py index c01bb47..10ef7f1 100644 --- a/mpcdf_common.py +++ b/mpcdf_common.py @@ -211,13 +211,17 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r if filter_repos is None: filter_repos = () - root = package_meta(api_url, project, package) + pkg_meta = osc.core.show_package_meta(api_url, project, package) + root = ElementTree.fromstringlist(pkg_meta) + build = root.find("./build") if build is None: build = ElementTree.SubElement(root, "build") - else: - for enable in build.findall("./enable"): - build.remove(enable) + + pkg_meta = ElementTree.tostring(root, encoding=osc.core.ET_ENCODING) + + for enable in build.findall("./enable"): + build.remove(enable) try: enable_repos = get_attribute_values(api_url, project, package, "MPCDF:enable_repositories") @@ -332,9 +336,10 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r if len(build.getchildren()) > 0: build.getchildren()[-1].tail = "\n " - pkg_meta = ElementTree.tostring(root, encoding=osc.core.ET_ENCODING) + new_pkg_meta = ElementTree.tostring(root, encoding=osc.core.ET_ENCODING) + if pkg_meta != new_pkg_meta: + osc.core.edit_meta("pkg", (project, package), data=new_pkg_meta) - osc.core.edit_meta("pkg", (project, package), data=pkg_meta) return True -- GitLab