aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFathi Boudra <fabo@debian.org>2012-03-13 13:58:27 +0200
committerFathi Boudra <fabo@debian.org>2012-03-13 13:58:27 +0200
commitb39924124d297335d9b1d8b5ec147184cfd1d6e3 (patch)
tree20170e07a96f2297bf3547cbd9ac68112e73e01a
parent15f8347133ee4acb9f5acc343f9074617b6ba81f (diff)
Add add-milestone.py script. Thanks to Danilo.
-rwxr-xr-xtools/image-download-logs/image-data.sh2
-rwxr-xr-xtools/launchpad/add-milestone.py51
2 files changed, 53 insertions, 0 deletions
diff --git a/tools/image-download-logs/image-data.sh b/tools/image-download-logs/image-data.sh
index 3124002..044dbed 100755
--- a/tools/image-download-logs/image-data.sh
+++ b/tools/image-download-logs/image-data.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
ubuntu=`grep ubuntu-desktop * | wc -l`
developer=`grep developer * | wc -l`
alip=`grep alip * | wc -l`
diff --git a/tools/launchpad/add-milestone.py b/tools/launchpad/add-milestone.py
new file mode 100755
index 0000000..e45df34
--- /dev/null
+++ b/tools/launchpad/add-milestone.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+
+import logging
+from launchpadlib.launchpad import Launchpad
+
+launchpad = Launchpad.login_with('add-milestone', 'production')
+
+def addMilestoneToProject(project, milestone_name, date_targeted):
+ milestone = project.getMilestone(name=milestone_name)
+ if milestone is None:
+ logging.info(
+ "Creating milestone %s/%s..." % (project.name, milestone_name))
+ milestone = project.development_focus.newMilestone(
+ name=milestone_name, date_targeted=date_targeted)
+ else:
+ logging.info(
+ "Updating milestone %s/%s..." % (project.name, milestone_name))
+ milestone.date_targeted = date_targeted
+ milestone.lp_save()
+
+if __name__ == '__main__':
+ import sys
+ project_name = sys.argv[1]
+ milestone_name = sys.argv[2]
+ if len(sys.argv) > 3:
+ date_targeted = sys.argv[3]
+ else:
+ date_targeted = None
+
+ logging.basicConfig(level=logging.INFO)
+
+ matching_project = launchpad.projects[project_name]
+ if matching_project is None:
+ logging.error("No projects matching '%s' found." % project_name)
+ sys.exit(1)
+
+ if matching_project.resource_type_link.endswith('#project_group'):
+ logging.info("Found project group '%s'...", matching_project.title)
+ projects = matching_project.projects
+ elif matching_project.resource_type_link.endswith('#project'):
+ logging.info("Found project '%s'...", matching_project.title)
+ projects = [matching_project]
+ elif matching_project.resource_type_link.endswith('#distribution'):
+ logging.error(
+ "'%s' is a distribution, and distributions are not supported." % (
+ project_name))
+ sys.exit(2)
+
+ for subproject in projects:
+ addMilestoneToProject(subproject, milestone_name, date_targeted)
+