Hi,
currently, the API allows to create and modify most attributes of
erratas, but the functionality for setting the issue- and update-date is
missing.
The first attached patch adds this functionality to the API call
errate.setDetails.
The second patch integrates this to scripts/clone-errata/rhn-clone-errata.py
It would be great, if those patches could get applied.
regards,
Jörg Steffens
--
Jörg Steffensjoerg.steff...@dass-it.de
dass IT GmbH Phone: +49.221.3565666-91
http://www.dass-IT.de Fax: +49.221.3565666-10
Sitz der Gesellschaft: Köln | Amtsgericht Köln: HRB52500
Geschäftsführer: S. Dühr, M. Außendorf, Jörg Steffens, P. Storz
>From b5b0edbe7065f86acb59c6c3887025a3680fa337 Mon Sep 17 00:00:00 2001
From: Joerg Steffens
Date: Wed, 14 Nov 2012 15:48:24 +0100
Subject: [PATCH 1/2] extend API call errata.setDetails to support issue_date
and update_date
---
.../rhn/frontend/xmlrpc/errata/ErrataHandler.java | 12
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
index d18c076..686e19b 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
@@ -281,6 +281,8 @@ public class ErrataHandler extends BaseHandler {
* following: 'Security Advisory', 'Product Enhancement Advisory',
* or 'Bug Fix Advisory'")
* #prop("string", "product")
+ * #prop("dateTime.iso8601", "issue_date")
+ * #prop("dateTime.iso8601", "update_date")
* #prop("string", "errataFrom")
* #prop("string", "topic")
* #prop("string", "description")
@@ -323,6 +325,8 @@ public class ErrataHandler extends BaseHandler {
validKeys.add("advisory_release");
validKeys.add("advisory_type");
validKeys.add("product");
+validKeys.add("issue_date");
+validKeys.add("update_date");
validKeys.add("errataFrom");
validKeys.add("topic");
validKeys.add("description");
@@ -348,6 +352,14 @@ public class ErrataHandler extends BaseHandler {
}
}
+if (details.containsKey("issue_date")) {
+errata.setIssueDate( new Date((String)details.get("issue_date")));
+}
+
+if (details.containsKey("update_date")) {
+errata.setUpdateDate( new Date((String)details.get("update_date")));
+}
+
if (details.containsKey("synopsis")) {
errata.setSynopsis((String)details.get("synopsis"));
}
--
1.7.7
>From e73bf6f6df3bd0bb120b929f9db790a4f61f99c6 Mon Sep 17 00:00:00 2001
From: Joerg Steffens
Date: Wed, 14 Nov 2012 15:59:58 +0100
Subject: [PATCH 2/2] clone also issue_ and update_date of erratas
---
scripts/clone-errata/rhn-clone-errata.py | 18 ++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/scripts/clone-errata/rhn-clone-errata.py b/scripts/clone-errata/rhn-clone-errata.py
index b38c6a5..80a700e 100755
--- a/scripts/clone-errata/rhn-clone-errata.py
+++ b/scripts/clone-errata/rhn-clone-errata.py
@@ -827,6 +827,24 @@ def main():
else:
print "\tErrata Created: %d" % spwErrObject['id']
+try:
+if spwErrDetails['errata_issue_date']:
+mySPW.setDetails(spwErrataName, { 'issue_date' : spwErrDetails['errata_issue_date'] }, 0)
+except Exception as e:
+if options.format:
+print >>sys.stderr, "failed to set issue_date: %s" % e
+else:
+print "failed to set issue_date: %s" % e
+
+try:
+if spwErrDetails['errata_update_date']:
+mySPW.setDetails(spwErrataName, { 'update_date' : spwErrDetails['errata_update_date'] }, 0)
+except Exception as e:
+if options.format:
+print >>sys.stderr, "failed to set update_date: %s" % e
+else:
+print "failed to set update_date: %s" % e
+
if options.publish:
spwPublish = mySPW.errataPublish (spwErrataName, [chanMap[chan]], 0)
if options.format:
--
1.7.7
___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel