From 97a70a97cc2833f77f18073a8c637a6403c54819 Mon Sep 17 00:00:00 2001 From: Stefano Rivera Date: Sun, 3 Oct 2010 22:45:19 +0200 Subject: [PATCH] And checkUpload throws an exception instead of returning False --- ack-sync | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/ack-sync b/ack-sync index 4f274ac..4622632 100755 --- a/ack-sync +++ b/ack-sync @@ -200,13 +200,24 @@ def main(bug_numbers, all_package, all_version, all_section, update, src_pkg = series.getSourcePackage(name=package) if src_pkg is None: print "%s is NEW in %s." % (package, dist) - if src_pkg is not None and not series.main_archive.checkUpload( - component=src_pkg.latest_published_component_name, - distroseries=series, person=launchpad.me, pocket='Release', - sourcepackagename=package): - print >> sys.stderr, ("E: Sorry, you are not allowed to " - 'upload package "%s" to %s.' % (package, dist)) - sys.exit(UPLOAD_NOT_PERMITTED) + if src_pkg is not None: + # TODO: Port ack-sync to use lpapicache and reduce code-duplication. + can_upload = None + try: + series.main_archive.checkUpload( + component=src_pkg.latest_published_component_name, + distroseries=series, person=launchpad.me, pocket='Release', + sourcepackagename=package) + can_upload = True + except lazr.restfulclient.errors.HTTPErro, e: + if e.response.status == 403: + can_upload = False + else: + raise e + if not can_upload: + print >> sys.stderr, ("E: Sorry, you are not allowed to " + 'upload package "%s" to %s.' % (package, dist)) + sys.exit(UPLOAD_NOT_PERMITTED) if task.assignee == None: task.assignee = launchpad.me