From d91afb44bb6f6c5df123bb2cc2fa5f3b09f1c792 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 17:06:39 -0500 Subject: [PATCH 01/10] Have an optional argument to create a new milestone on the series --- lp-project-upload | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lp-project-upload b/lp-project-upload index 60f67f1..02b3949 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -79,13 +79,13 @@ def edit_file(prefix, description): return content.strip() def main(): - if len(sys.argv) != 4: + if len(sys.argv) != 4 and len(sys.argv) != 5: print >> sys.stderr, '''Upload a release tarball to a Launchpad project. - Usage: %s ''' % sys.argv[0] + Usage: %s [new milestone]''' % sys.argv[0] sys.exit(1) - (project, version, tarball) = sys.argv[1:] + (project, version, tarball, new_milestone) = sys.argv[1:] try: launchpad = Launchpad.login_with('ubuntu-dev-tools', 'production') @@ -140,6 +140,18 @@ def main(): release.lp_save() + if not new_milestone is None: + mil = release.milestone + for series in proj.series: + broke = False + for milestone in series.all_milestones: + if mil.name == milestone.name: + series.newMilestone(name=new_milestone, date_targeted=datetime.date.today().strftime('%Y-%m-%d')) + broke = True + break + if broke: + break + except HTTPError, error: print 'An error happened in the upload:', error.content sys.exit(1) From 354b34ea1accad9c0bf9000ef4a6494d1b6ce336 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 17:07:00 -0500 Subject: [PATCH 02/10] Whitespace for Python people --- lp-project-upload | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lp-project-upload b/lp-project-upload index 02b3949..9c259b4 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -141,16 +141,16 @@ def main(): release.lp_save() if not new_milestone is None: - mil = release.milestone - for series in proj.series: - broke = False - for milestone in series.all_milestones: - if mil.name == milestone.name: - series.newMilestone(name=new_milestone, date_targeted=datetime.date.today().strftime('%Y-%m-%d')) - broke = True - break - if broke: - break + mil = release.milestone + for series in proj.series: + broke = False + for milestone in series.all_milestones: + if mil.name == milestone.name: + series.newMilestone(name=new_milestone, date_targeted=datetime.date.today().strftime('%Y-%m-%d')) + broke = True + break + if broke: + break except HTTPError, error: print 'An error happened in the upload:', error.content From 7f471eb318eebe31d48d350aad05050bdc2aaf5c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 20:55:15 -0500 Subject: [PATCH 03/10] lp-project-upload: Add an optional parameter for creating a new milestone to add future bugs to. --- debian/changelog | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 823753e..ea5e0ee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,8 +7,10 @@ ubuntu-dev-tools (0.121) UNRELEASED; urgency=low [ Ted Gould ] * lp-project-upload: Use a milestone that already exists if there is one to use. + * lp-project-upload: Add an optional parameter for creating a new + milestone to add future bugs to. - -- Ted Gould Wed, 23 Mar 2011 20:52:56 -0500 + -- Ted Gould Wed, 23 Mar 2011 20:54:35 -0500 ubuntu-dev-tools (0.120) unstable; urgency=low From fd235db083219c3a15156f7d7b043110f4186375 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 20:57:08 -0500 Subject: [PATCH 04/10] Adding an intermediary 'today' variable to shorten line lengths --- lp-project-upload | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lp-project-upload b/lp-project-upload index 6c632d3..ff2c805 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -147,7 +147,8 @@ def main(): broke = False for milestone in series.all_milestones: if mil.name == milestone.name: - series.newMilestone(name=new_milestone, date_targeted=datetime.date.today().strftime('%Y-%m-%d')) + today = datetime.date.today().strftime('%Y-%m-%d') + series.newMilestone(name=new_milestone, date_targeted=today) broke = True break if broke: From 11fc1380f7852869243ba22e980bc53c955e0231 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 21:27:12 -0500 Subject: [PATCH 05/10] We shouldn't set the date targeted as we don't really know that --- lp-project-upload | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lp-project-upload b/lp-project-upload index ff2c805..f4d383e 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -147,8 +147,7 @@ def main(): broke = False for milestone in series.all_milestones: if mil.name == milestone.name: - today = datetime.date.today().strftime('%Y-%m-%d') - series.newMilestone(name=new_milestone, date_targeted=today) + series.newMilestone(name=new_milestone) broke = True break if broke: From 4465bcd28cd2d6a1b9055cde41dff3872566bba5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 22:02:43 -0500 Subject: [PATCH 06/10] Comment to make the code easier to read --- lp-project-upload | 1 + 1 file changed, 1 insertion(+) diff --git a/lp-project-upload b/lp-project-upload index f4d383e..7209871 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -141,6 +141,7 @@ def main(): release.lp_save() + # Create a new milestone if requested if not new_milestone is None: mil = release.milestone for series in proj.series: From a3381c37245add78d76c99f2636205cc892efe8d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 23 Mar 2011 22:03:54 -0500 Subject: [PATCH 07/10] Use the right set of arguments depending on how many we have --- lp-project-upload | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lp-project-upload b/lp-project-upload index 7209871..94911e3 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -85,7 +85,10 @@ def main(): Usage: %s [new milestone]''' % sys.argv[0] sys.exit(1) - (project, version, tarball, new_milestone) = sys.argv[1:] + if len(sys.argv) == 4: + (project, version, tarball) = sys.argv[1:] + else: + (project, version, tarball, new_milestone) = sys.argv[1:] try: launchpad = Launchpad.login_with('ubuntu-dev-tools', 'production') From d9ec09c3969fb65ff70f785c7f59dadc803896f8 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 24 Mar 2011 09:57:18 -0500 Subject: [PATCH 08/10] Sorten code using crazy Python stuff. --- lp-project-upload | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lp-project-upload b/lp-project-upload index 94911e3..657dbd6 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -148,14 +148,8 @@ def main(): if not new_milestone is None: mil = release.milestone for series in proj.series: - broke = False - for milestone in series.all_milestones: - if mil.name == milestone.name: - series.newMilestone(name=new_milestone) - broke = True - break - if broke: - break + if mil.name in [milestone.name for milestone in series.all_milestones]: + series.newMilestone(name=new_milestone) except HTTPError, error: print 'An error happened in the upload:', error.content From 3386a8094555524cd28047659c37e678d7f3a37c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 15 Apr 2011 16:35:54 -0500 Subject: [PATCH 09/10] Apparently this makes it run faster with less memory usage :-) --- lp-project-upload | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lp-project-upload b/lp-project-upload index 657dbd6..b7ccb86 100755 --- a/lp-project-upload +++ b/lp-project-upload @@ -145,7 +145,7 @@ def main(): release.lp_save() # Create a new milestone if requested - if not new_milestone is None: + if new_milestone is not None: mil = release.milestone for series in proj.series: if mil.name in [milestone.name for milestone in series.all_milestones]: From e9cea63f529e9ea1c787d6a51af19d6bc6b35cd9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 19 Apr 2011 09:50:53 -0500 Subject: [PATCH 10/10] Edit to add the parameter to the man page --- doc/lp-project-upload.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/lp-project-upload.1 b/doc/lp-project-upload.1 index fe0fa1c..16ade9f 100644 --- a/doc/lp-project-upload.1 +++ b/doc/lp-project-upload.1 @@ -4,7 +4,7 @@ lp\-project\-upload \- Upload a release tarball to a Launchpad project. .SH SYNOPSIS .B lp\-project\-upload -.I project-name version tarball +.I project-name version tarball [new milestone] .SH DESCRIPTION \fBlp\-project\-upload\fR uploads a tarball release of a project to Launchpad.