bodhi/tools
by Luke Macken
bodhi/tools/client.py | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
New commits:
commit a0931cf8bdfecf9e0191623f83bfdb2b06f5e6ae
Author: Luke Macken <lmacken(a)redhat.com>
Date: Tue Apr 5 20:25:24 2011 -0400
Perform client-side validation on the update type and request when doing `make update` (#597)
diff --git a/bodhi/tools/client.py b/bodhi/tools/client.py
index cf7f87d..98578e0 100755
--- a/bodhi/tools/client.py
+++ b/bodhi/tools/client.py
@@ -38,6 +38,9 @@ try:
except:
BODHI_URL = 'https://admin.fedoraproject.org/updates/'
+update_types = ['bugfix', 'security', 'enhancement', 'newpackage']
+update_requests = ['stable', 'testing', 'obsolete', 'unpush']
+
log = logging.getLogger(__name__)
def get_parser():
@@ -109,7 +112,7 @@ def get_parser():
parser.add_option("-N", "--notes", action="store", type="string",
dest="notes", help="Update notes", default="")
parser.add_option("-t", "--type", action="store", type="string",
- help="Update type [bugfix|security|enhancement|newpackage]",
+ help="Update type [%s]" % '|'.join(update_types),
dest="type_", metavar="TYPE")
parser.add_option("-u", "--username", action="store", type="string",
dest="username", default=getuser(),
@@ -173,6 +176,14 @@ def main():
log.error("Error: No update type specified (ie: "
"type=bugfix), skipping.")
continue
+ if update_args['type_'] not in update_types:
+ log.error('Error: Invalid update type %r. Must be one of %r' % (
+ update_args['type_'], update_types))
+ continue
+ if update_args['request'] not in update_requests:
+ log.error('Error: Invalid update request %r. Must be one of %r' % (
+ update_args['request'], update_requests))
+ continue
log.info("Creating a new update for %s" %
update_args['builds'])
data = bodhi.save(**update_args)
13 years
bodhi/controllers.py
by Luke Macken
bodhi/controllers.py | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
New commits:
commit 95d8795c61cfbe8c1c7dff2a76e44ce097262b29
Author: Luke Macken <lmacken(a)redhat.com>
Date: Fri Apr 1 11:21:06 2011 -0400
Be more robust in our pending tag removal
diff --git a/bodhi/controllers.py b/bodhi/controllers.py
index bd33c66..725cc44 100644
--- a/bodhi/controllers.py
+++ b/bodhi/controllers.py
@@ -22,7 +22,7 @@ import xmlrpclib
import textwrap
from cgi import escape
-from koji import GenericError
+from koji import GenericError, TagError
from datetime import datetime
from sqlobject import SQLObjectNotFound
from sqlobject.sqlbuilder import AND, OR
@@ -716,12 +716,15 @@ class Root(controllers.RootController):
removed_builds.append(build)
# Remove the appropriate pending tags
- if edited.request == 'stable':
- koji.untagBuild(edited.release.pending_stable_tag,
- build, force=True)
- elif edited.request == 'testing':
- koji.untagBuild(edited.release.pending_testing_tag,
- build, force=True)
+ try:
+ if edited.request == 'stable':
+ koji.untagBuild(edited.release.pending_stable_tag,
+ build, force=True)
+ elif edited.request == 'testing':
+ koji.untagBuild(edited.release.pending_testing_tag,
+ build, force=True)
+ except TagError,e :
+ log.debug(str(e))
# Comment on the update with details of added/removed builds
if new_builds or removed_builds:
13 years, 1 month