Merge lp:~gary/launchpad/bug491705 into lp:launchpad

Proposed by Gary Poster
Status: Merged
Approved by: Paul Hummer
Approved revision: not available
Merged at revision: not available
Proposed branch: lp:~gary/launchpad/bug491705
Merge into: lp:launchpad
Diff against target: 1984 lines (+225/-353)
147 files modified
buildout-templates/_pythonpath.py.in (+17/-114)
buildout-templates/bin/jstest.in (+1/-6)
buildout-templates/bin/py.in (+0/-2)
buildout-templates/bin/test.in (+5/-6)
buildout.cfg (+11/-24)
cronscripts/allocate-revision-karma.py (+1/-1)
cronscripts/branch-scanner.py (+1/-1)
cronscripts/buildd-queue-builder.py (+1/-1)
cronscripts/buildd-retry-depwait.py (+1/-1)
cronscripts/buildd-slave-scanner.py (+1/-1)
cronscripts/calculate-bug-heat.py (+1/-1)
cronscripts/check-teamparticipation.py (+1/-1)
cronscripts/checkwatches.py (+1/-1)
cronscripts/code-import-dispatcher.py (+1/-1)
cronscripts/create-debwatches.py (+1/-1)
cronscripts/create_merge_proposals.py (+1/-1)
cronscripts/distributionmirror-prober.py (+1/-1)
cronscripts/expire-bugtasks.py (+1/-1)
cronscripts/expire-ppa-files.py (+1/-1)
cronscripts/expire-questions.py (+1/-1)
cronscripts/flag-expired-memberships.py (+1/-1)
cronscripts/foaf-update-karma-cache.py (+12/-12)
cronscripts/garbo-daily.py (+1/-1)
cronscripts/garbo-hourly.py (+1/-1)
cronscripts/generate-ppa-htaccess.py (+1/-1)
cronscripts/language-pack-exporter.py (+1/-1)
cronscripts/librarian-gc.py (+1/-1)
cronscripts/mpcreationjobs.py (+1/-1)
cronscripts/oops-prune.py (+1/-1)
cronscripts/parse-librarian-apache-access-logs.py (+1/-1)
cronscripts/ppa-generate-keys.py (+1/-1)
cronscripts/process-hwdb-submissions.py (+1/-1)
cronscripts/process-mail.py (+1/-1)
cronscripts/process-pending-packagediffs.py (+1/-1)
cronscripts/product-release-finder.py (+1/-1)
cronscripts/reclaimbranchspace.py (+1/-1)
cronscripts/rosetta-approve-imports.py (+1/-1)
cronscripts/rosetta-branches.py (+1/-1)
cronscripts/rosetta-export-queue.py (+1/-1)
cronscripts/rosetta-pofile-stats-daily.py (+1/-1)
cronscripts/rosetta-pofile-stats.py (+1/-1)
cronscripts/rosetta-poimport.py (+1/-1)
cronscripts/scan_branches.py (+1/-1)
cronscripts/send-bug-notifications.py (+1/-1)
cronscripts/send-person-notifications.py (+1/-1)
cronscripts/sendbranchmail.py (+1/-1)
cronscripts/supermirror-pull.py (+1/-1)
cronscripts/translations-export-to-branch.py (+1/-1)
cronscripts/update-bugtask-targetnamecaches.py (+1/-1)
cronscripts/update-cve.py (+1/-1)
cronscripts/update-debwatches.py (+1/-1)
cronscripts/update-pkgcache.py (+1/-1)
cronscripts/update-remote-product.py (+1/-1)
cronscripts/update-sourceforge-remote-products.py (+1/-1)
cronscripts/update-standing.py (+1/-1)
cronscripts/update-stats.py (+1/-1)
cronscripts/update_preview_diffs.py (+1/-1)
cronscripts/upgrade_branches.py (+1/-1)
lib/canonical/launchpad/mailman/runmailman.py (+0/-4)
lib/lp/registry/tests/test_mlists.py (+0/-1)
lib/lp_sitecustomize.py (+22/-0)
lib/site.py (+0/-30)
scripts/branch-distro.py (+1/-1)
scripts/branch-rewrite.py (+1/-1)
scripts/bug-export.py (+1/-1)
scripts/bug-import.py (+1/-1)
scripts/bugzilla-import.py (+1/-1)
scripts/cache-country-mirrors.py (+1/-1)
scripts/clean-sourceforge-project-entries.py (+1/-1)
scripts/close-account.py (+2/-2)
scripts/code-import-worker-db.py (+1/-1)
scripts/code-import-worker.py (+1/-1)
scripts/convert-person-to-team.py (+1/-1)
scripts/copy-translations-from-parent.py (+1/-1)
scripts/entitlements-to-lp.py (+1/-1)
scripts/find-email-clusters.py (+1/-1)
scripts/ftpmaster-tools/archive-cruft-check.py (+1/-1)
scripts/ftpmaster-tools/archive-override-check.py (+1/-1)
scripts/ftpmaster-tools/buildd-mass-retry.py (+1/-1)
scripts/ftpmaster-tools/change-override.py (+1/-1)
scripts/ftpmaster-tools/copy-package.py (+1/-1)
scripts/ftpmaster-tools/initialise-from-parent.py (+1/-1)
scripts/ftpmaster-tools/lp-query-distro.py (+1/-1)
scripts/ftpmaster-tools/lp-remove-package.py (+1/-1)
scripts/ftpmaster-tools/manage-chroot.py (+1/-1)
scripts/ftpmaster-tools/obsolete-distroseries.py (+1/-1)
scripts/ftpmaster-tools/ppa-report.py (+1/-1)
scripts/ftpmaster-tools/queue (+1/-1)
scripts/ftpmaster-tools/remove-package.py (+1/-1)
scripts/ftpmaster-tools/sync-source.py (+1/-1)
scripts/ftpmaster-tools/unembargo-package.py (+1/-1)
scripts/get-stacked-on-branches.py (+1/-1)
scripts/gina.py (+2/-2)
scripts/import-debian-bugs.py (+1/-1)
scripts/import-packagenames.py (+1/-1)
scripts/import-zope-specs.py (+4/-4)
scripts/librarian-report.py (+1/-1)
scripts/linkreport.py (+2/-2)
scripts/list-team-members (+1/-1)
scripts/merge-email-clusters.py (+1/-1)
scripts/migrate-bugzilla-initialcontacts.py (+1/-1)
scripts/mirror-branch.py (+1/-1)
scripts/mlist-import.py (+1/-1)
scripts/mlist-sync.py (+1/-1)
scripts/modified-branches.py (+1/-1)
scripts/populate-archive.py (+1/-1)
scripts/ppa-add-missing-builds.py (+1/-1)
scripts/process-accepted.py (+1/-1)
scripts/process-death-row.py (+1/-1)
scripts/process-upload.py (+1/-1)
scripts/publish-distro.py (+1/-1)
scripts/rosetta/check-distroseries-translations-diffs.py (+1/-1)
scripts/rosetta/fix_translation_credits.py (+1/-1)
scripts/rosetta/gettext_check_messages.py (+1/-1)
scripts/rosetta/message-sharing-merge.py (+2/-2)
scripts/rosetta/message-sharing-populate-test.py (+1/-1)
scripts/rosetta/message-sharing-populate.py (+1/-1)
scripts/rosetta/pottery-generate-intltool.py (+1/-1)
scripts/rosetta/remove-obsolete-translations.py (+1/-1)
scripts/rosetta/remove-translations-by.py (+1/-1)
scripts/rosetta/remove-upstream-translations.py (+1/-1)
scripts/rosetta/reupload-translations.py (+1/-1)
scripts/rosetta/share-jaunty-translations.py (+1/-1)
scripts/rosetta/validate-translations-file.py (+1/-1)
scripts/script-monitor-nagios.py (+6/-6)
scripts/script-monitor.py (+4/-4)
scripts/sourceforge-import.py (+1/-1)
scripts/update-stacked-on.py (+1/-1)
scripts/upload2librarian.py (+1/-1)
utilities/check-configs.py (+1/-1)
utilities/check-content-interfaces.py (+1/-1)
utilities/check-sampledata.py (+1/-1)
utilities/check-scripts.py (+1/-1)
utilities/create-lp-wadl.py (+1/-1)
utilities/ec2 (+1/-1)
utilities/generate-external-bug-status-docs (+1/-1)
utilities/get-branch-info (+1/-1)
utilities/list-person-references.py (+3/-1)
utilities/lsconf.py (+1/-1)
utilities/make-dummy-hosted-branches (+1/-1)
utilities/make-lp-user (+1/-1)
utilities/mock-code-import (+1/-1)
utilities/page-performance-report.py (+1/-1)
utilities/paste (+1/-1)
utilities/sanitize-db.py (+1/-1)
utilities/update-revisionauthor-email.py (+1/-1)
versions.cfg (+4/-3)
To merge this branch: bzr merge lp:~gary/launchpad/bug491705
Reviewer Review Type Date Requested Status
Paul Hummer (community) code Approve
Review via email: mp+20156@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Gary Poster (gary) wrote :
Download full text (3.7 KiB)

This branch merges my changes to zc.buildout. These completely change how we handle working with a system Python from my earlier approach. Now instead of mucking with sys.modules, and instead of throwing a bunch of paths to every script we write, and instead of having a site.py that duplicates effort that we maintain in the tree, we have a custom buildout-generated site.py that sets up our paths. We insert the path to the directory containing that file in sys.paths (via PYTHONPATH; or by starting with -S, inserting the path in Python, and importing the site module) when we want to use the Launchpad environment.

The Launchpad reviews of these zc.buildout branches are here, for reference:

https://code.edge.launchpad.net/~gary/zc.buildout/python-support-1-cleanup/+merge/19532
https://code.edge.launchpad.net/~gary/zc.buildout/python-support-2-bootstrap/+merge/19538
https://code.edge.launchpad.net/~gary/zc.buildout/python-support-3-options/+merge/19539
https://code.edge.launchpad.net/~gary/zc.buildout/python-support-4/+merge/19547
https://code.edge.launchpad.net/~gary/zc.buildout/python-support-5-initial-egg-control/+merge/20010
https://code.edge.launchpad.net/~gary/zc.buildout/python-support-6-egg-control/+merge/20013
https://code.edge.launchpad.net/~gary/zc.buildout/python-support-7/+merge/20092

Making these changes to zc.buildout meant several necessary changes to the Launchpad tree, and a couple of opportunistic ones.

_pythonpath.py.in can now be wildly simpler. It now just needs to insert the path with our custom site.py into sys.path and import site. This only works if (the wrong) site has not already been imported, so we double-check for that. We try to provide guidance for how to use the new approach. I believe that I have adjusted all scripts that use _pythonpath to use the new approach. Some, such as buildout-templates/bin/jstest.in, were standardized in their approach at the same time. Some, like cronscripts/foaf-update-karma-cache.py, also got trailing-whitespace clean-up courtesy of my editor.

All generated scripts in the bin directory should now be significantly easier to read, since they only insert the directory with the custom site.py, which now handles all of the path code.

The generated bin/py now also is significantly different. It is Python rather than a bash script, though the basic mechanism (exec) is the same. It is also generated by code in buildout itself, so buildout-templates no longer needs a file to generate it. This is why "interpreter = py" has been added to buildout.cfg.

The filetemplates no longer need to specify eggs in the buildout.cfg because the scripts all use the custom site.py instead.

The initialization has been changed to rely on a new module, lp_sitecustomize.py. per bug 496705. Not everything could go into the new module, for the reasons I clarify in comments.

I removed a couple of lines like this one: "env['PYTHONPATH'] = os.path.pathsep.join(sys.path)". It is no longer necessary, and in fact causes problems because pkg_resources gets confused with duplicate paths. This change felt a little risky, particularly because it touched the Mailman integration, which can get hairy. How...

Read more...

Revision history for this message
Paul Hummer (rockstar) wrote :

<gary_poster> rockstar: um, so, 1600 lines are the following repetition:
<gary_poster> -#!/usr/bin/python2.5
<gary_poster> 988 +#!/usr/bin/python2.5 -S
<gary_poster> :-D
<gary_poster> please?
<rockstar> gary_poster, wow. That's a lot of python.
<gary_poster> oh yeah
<gary_poster> bac, I'm now changing my begging to rockstar. rockstar, if you can't stand it, lemme know, and I'll go beg on the foundations channel. :-)
<rockstar> gary_poster, looking at it now. It hasn't been too bad.
<gary_poster> rockstar: thank you
<rockstar> gary_poster, this seems to kill a lot of hacks we had.
<rockstar> (hacks I didn't even know about)
<gary_poster> rockstar: heh, yeah. that was a definite goal. :-)
<rockstar> gary_poster, okay, cool.
<rockstar> gary_poster, also, it looks like you killed a lot of trailing whitespace issues. Was that on purpose, or is your editor doing that?
<gary_poster> rockstar: on purpose because I tell my editor to do it. :-) If you want me to separate I will. I felt it was relatively small, but I'm obviously not in much of a bargaining position there. ;-)
<rockstar> gary_poster, well, it seems more effort to separate them than it's worth.
<gary_poster> ack
<gary_poster> thanks
<rockstar> gary_poster, however, while that does need to be done, it can cause spurious conflicts, so do so sparingly in the future plz.
<gary_poster> rockstar: ack, will do
<rockstar> I'm mostly impressed with the changes in buildout-templates/_pythonpath.py.in
<rockstar> You replaced 110 lines of code with 14 lines. :)
<rockstar> gary_poster, these are pretty invasive changes, and we're getting nigh to closing PQM time.
<rockstar> gary_poster, are you confident these changes aren't going to have explosive bugs?
<gary_poster> rockstar: ack, see last para of cover letter. Going to insert as soon as branch opens.
<rockstar> gary_poster, ah, hadn't seen that.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'buildout-templates/_pythonpath.py.in'
--- buildout-templates/_pythonpath.py.in 2009-11-06 21:58:50 +0000
+++ buildout-templates/_pythonpath.py.in 2010-02-25 17:26:19 +0000
@@ -4,121 +4,24 @@
4# NOTE: This is a generated file. The original is in4# NOTE: This is a generated file. The original is in
5# buildout-templates/_pythonpath.py.in5# buildout-templates/_pythonpath.py.in
66
7__metaclass__ = type7# This file works if the Python has been started with -S, or if bin/py
8# has been used.
89
9import new
10import os10import os
11import site
12import sys11import sys
1312
14stdlib_paths = [13site_dir = "${scripts:parts-directory}"
15 ${indented-stdlib-paths}14
16 ]15if ('site' in sys.modules and
17egg_paths = [16 not sys.modules['site'].__file__.startswith(
18 ${indented-egg-paths}17 os.path.join(site_dir, 'site.py'))):
19 ]18 # We have the wrong site.py, so our paths are not set up correctly.
20site_dirs = [19 # We blow up, with a hopefully helpful error message.
21 ${indented-dir-paths}20 raise RuntimeError(
22 ]21 'The wrong site.py is imported. Scripts should usually be '
2322 "started with Launchpad's bin/py, or with a Python invoked with "
24def set_path():23 'the -S flag.')
25 # We need to remove any modules installed using the setuptools24
26 # namespace package approach that generates .pth files that mutate25if site_dir not in sys.path:
27 # sys.modules. They can mask the namespace modules we actually26 sys.path.insert(0, site_dir)
28 # want. We will try to recognize these sorts of namespace modules by27import site # sets up paths
29 # looking for modules that do not have a __file__, like the ones
30 # generated by these .pth files. However, that's not good enough: some
31 # C modules look like this. We then look for any names in the
32 # module that are not special Python names (__*__) that are also not
33 # in sys.modules. If any one of these exist, this is not a
34 # namespace module. Otherwise, it is a namespace module. Moreover,
35 # if there were any sys.modules names from the namespace module,
36 # this _pythonpath module was imported too late: we should complain.
37 #
38 # If you have not seen the code in these .pth files, here's an
39 # example. It is all in one line in the .pth files, because of the
40 # .pth syntax for this feature.
41 #
42 # import sys,new,os;
43 # p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('lazr',));
44 # ie = os.path.exists(os.path.join(p,'__init__.py'));
45 # m = not ie and sys.modules.setdefault('lazr',new.module('lazr'));
46 # mp = (m or []) and m.__dict__.setdefault('__path__',[]);
47 # (p not in mp) and mp.append(p)
48 #
49 # Note that we will be mutating sys.modules, so we want to make sure to be
50 # getting a copy, not an iterable.
51 marker = object()
52 for k, v in sys.modules.items():
53 if k == '__main__' or not isinstance(v, new.module):
54 # These are some special cases that we'll pass by.
55 continue
56 if getattr(v, '__file__', marker) is marker:
57 # This is a .pth-generated namespace or C module.
58 for name in dir(v):
59 if not name.startswith('__') and not name.endswith('__'):
60 full_name = '.'.join((k, name))
61 if full_name in sys.modules:
62 # This is a .pth-generated namespace module that
63 # has had one of its sub-packages imported.
64 raise RuntimeError(
65 'Found unexpected module %s. '
66 'Import _pythonpath earlier!' % (full_name,))
67 else:
68 # This is a C module or something like that. Nothing
69 # to see here: move along.
70 break
71 else:
72 # It is a .pth-generated namespace module. Remove it
73 # so we can let our eggs make their own.
74 del sys.modules[k]
75
76 # We keep the very first path because that is typically the directory
77 # of the file that imported us, which should continue to have precedence.
78 sys.path[1:] = egg_paths
79 sys.path.extend(stdlib_paths)
80 # Add the site_dirs before `addsitedir` in case it has setuptools.
81 sys.path.extend(site_dirs)
82 # Process all buildout-controlled eggs before site-packages by importing
83 # pkg_resources. This is only important for namespace packages, so it may
84 # not have been added, so ignore import errors.
85 try:
86 import pkg_resources
87 except ImportError:
88 pass
89 # Process .pth files.
90 for p in site_dirs:
91 site.addsitedir(p)
92
93 # Make subprocesses have the same environment.
94 os.environ['PYTHONPATH'] = os.pathsep.join(sys.path)
95
96 # Enable Storm's C extensions
97 os.environ['STORM_CEXTENSIONS'] = '1'
98
99 # We don't want to bother tests or logs with these.
100 import warnings
101 warnings.filterwarnings(
102 'ignore',
103 'Module .+ was already imported from .+, but .+ is being added.*',
104 UserWarning)
105
106try:
107 # We try two smoke tests. The first checks to see that lib has been
108 # added.
109 import lp
110 # XXX gary 10-19-2009 bug 455737
111 # The second wants to see if the egg paths have been added. The
112 # only reason this is necessary is because, as of this writing, our
113 # buildbot configuration sets PYTHONPATH at one point to include
114 # lib, but not the rest of the eggs. This means that importing lp
115 # will work, but importing ZConfig won't. The right fix here is to
116 # change our buildbot to not set PYTHONPATH. That's not an option
117 # at this instance in time because the LOSAs are swamped with
118 # another task. We can remove this comment, the following import,
119 # and ``sys.modules.pop('lp', None)`` below when buildbot's
120 # configuration is changed.
121 import ZConfig
122except ImportError:
123 sys.modules.pop('lp', None)
124 set_path()
12528
=== modified file 'buildout-templates/bin/jstest.in'
--- buildout-templates/bin/jstest.in 2009-10-07 10:19:19 +0000
+++ buildout-templates/bin/jstest.in 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!${buildout:executable}1#! /usr/bin/env ${buildout:directory}/bin/py
2# Copyright 2009 Canonical Ltd. This software is licensed under the2# Copyright 2009 Canonical Ltd. This software is licensed under the
3# GNU Affero General Public License version 3 (see the file LICENSE).3# GNU Affero General Public License version 3 (see the file LICENSE).
44
@@ -14,11 +14,6 @@
1414
15"""15"""
1616
17# Add the buildout sys.path
18import sys
19sys.path[0:0] = [${string-paths}]
20
21
22import subprocess17import subprocess
23import os18import os
24from lp.scripts.utilities.lpwindmill import runLaunchpad19from lp.scripts.utilities.lpwindmill import runLaunchpad
2520
=== removed file 'buildout-templates/bin/py.in'
--- buildout-templates/bin/py.in 2009-10-18 01:09:02 +0000
+++ buildout-templates/bin/py.in 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2PYTHONPATH=${os-paths} exec ${buildout:executable} "$@"
30
=== modified file 'buildout-templates/bin/test.in'
--- buildout-templates/bin/test.in 2010-01-18 09:45:04 +0000
+++ buildout-templates/bin/test.in 2010-02-25 17:26:19 +0000
@@ -38,13 +38,12 @@
38os.environ['TZ'] = 'Asia/Calcutta'38os.environ['TZ'] = 'Asia/Calcutta'
39time.tzset()39time.tzset()
4040
41# Enable Storm's C extensions.41# Storm's C extensions should already be enabled from lp_sitecustomize.py,
42os.environ['STORM_CEXTENSIONS'] = '1'42# which our custom sitecustomize.py ran.
43assert os.environ['STORM_CEXTENSIONS'] == '1'
4344
44# Set PYTHONPATH environment variable for spawned processes.45# Make sure our site.py is the one that subprocesses use.
45# This is the kind of use case for the site.py fork we have in lib (see the46os.environ['PYTHONPATH'] = "${scripts:parts-directory}"
46# comment in that file). :-(
47os.environ['PYTHONPATH'] = ':'.join(sys.path)
4847
49# Set a flag if this is the main testrunner process48# Set a flag if this is the main testrunner process
50if len(sys.argv) > 1 and sys.argv[1] == '--resume-layer':49if len(sys.argv) > 1 and sys.argv[1] == '--resume-layer':
5150
=== modified file 'buildout.cfg'
--- buildout.cfg 2010-02-19 22:02:36 +0000
+++ buildout.cfg 2010-02-25 17:26:19 +0000
@@ -25,9 +25,6 @@
2525
26allow-picked-versions = false26allow-picked-versions = false
2727
28allowed-eggs-from-site-packages =
29include-site-packages-for-buildout = false
30
31prefer-final = true28prefer-final = true
3229
33develop = .30develop = .
@@ -37,15 +34,10 @@
3734
38[filetemplates]35[filetemplates]
39recipe = z3c.recipe.filetemplate36recipe = z3c.recipe.filetemplate
40eggs = lp
41 windmill
42# XXX gary 2009-5-12 bug 375751:
43# Make mailman built and installed in a more normal way.
44extra-paths = ${buildout:directory}/lib/mailman
45source-directory = buildout-templates37source-directory = buildout-templates
4638
47[scripts]39[scripts]
48recipe = zc.recipe.egg40recipe = z3c.recipe.scripts
49eggs = lp41eggs = lp
50 windmill42 windmill
51 funkload43 funkload
@@ -53,21 +45,14 @@
53# XXX gary 2009-5-12 bug 375751:45# XXX gary 2009-5-12 bug 375751:
54# Make mailman built and installed in a more normal way.46# Make mailman built and installed in a more normal way.
55extra-paths = ${buildout:directory}/lib/mailman47extra-paths = ${buildout:directory}/lib/mailman
48include-site-packages = true
49allowed-eggs-from-site-packages =
50interpreter = py
56# Note that any indentation is lost in initialization blocks.51# Note that any indentation is lost in initialization blocks.
57initialization = import os52initialization =
58 os.environ['STORM_CEXTENSIONS'] = '1'53 import os
59 os.environ.setdefault('LPCONFIG', '${configuration:instance_name}')54 os.environ.setdefault('LPCONFIG', '${configuration:instance_name}')
60 # XXX 2009-08-21 gary bug 41707755 import lp_sitecustomize # Initializes LP environment.
61 # This can hopefully be removed when Twisted is used as an egg.
62 import warnings
63 warnings.filterwarnings(
64 'ignore',
65 'Module .+ was already imported from .+, but .+ is being added.*',
66 UserWarning)
67 # XXX: BradCrittenden 2009-12-14 bug=496705: A single, well-known entry point
68 # for initialization work needs to be created.
69 from lp.services.mime import customizeMimetypes
70 customizeMimetypes()
71entry-points = stxdocs=zope.configuration.stxdocs:main56entry-points = stxdocs=zope.configuration.stxdocs:main
72 googletestservice=canonical.launchpad.testing.googletestservice:main57 googletestservice=canonical.launchpad.testing.googletestservice:main
73 windmill=windmill.bin.windmill_bin:main58 windmill=windmill.bin.windmill_bin:main
@@ -78,10 +63,12 @@
78 jssize=lp.scripts.utilities.jssize:main63 jssize=lp.scripts.utilities.jssize:main
7964
80[iharness]65[iharness]
81recipe = zc.recipe.egg66recipe = z3c.recipe.scripts
82eggs = ${scripts:eggs}67eggs = ${scripts:eggs}
83 ipython68 ipython
84extra-paths = ${scripts:extra-paths}69extra-paths = ${scripts:extra-paths}
70include-site-packages = true
71allowed-eggs-from-site-packages =
85initialization = ${scripts:initialization}72initialization = ${scripts:initialization}
86entry-points = iharness=canonical.database.harness:ipython73entry-points = iharness=canonical.database.harness:ipython
87scripts = iharness ipython=ipy74scripts = iharness ipython=ipy
8875
=== modified file 'cronscripts/allocate-revision-karma.py'
--- cronscripts/allocate-revision-karma.py 2009-10-13 14:38:07 +0000
+++ cronscripts/allocate-revision-karma.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/branch-scanner.py'
--- cronscripts/branch-scanner.py 2010-01-05 22:26:28 +0000
+++ cronscripts/branch-scanner.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/buildd-queue-builder.py'
--- cronscripts/buildd-queue-builder.py 2009-10-13 14:38:07 +0000
+++ cronscripts/buildd-queue-builder.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/buildd-retry-depwait.py'
--- cronscripts/buildd-retry-depwait.py 2009-10-13 14:38:07 +0000
+++ cronscripts/buildd-retry-depwait.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/buildd-slave-scanner.py'
--- cronscripts/buildd-slave-scanner.py 2009-10-13 14:38:07 +0000
+++ cronscripts/buildd-slave-scanner.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/calculate-bug-heat.py'
--- cronscripts/calculate-bug-heat.py 2010-01-21 20:43:18 +0000
+++ cronscripts/calculate-bug-heat.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2010 Canonical Ltd. This software is licensed under the3# Copyright 2010 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/check-teamparticipation.py'
--- cronscripts/check-teamparticipation.py 2009-10-19 17:59:47 +0000
+++ cronscripts/check-teamparticipation.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/checkwatches.py'
--- cronscripts/checkwatches.py 2009-10-13 14:38:07 +0000
+++ cronscripts/checkwatches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/code-import-dispatcher.py'
--- cronscripts/code-import-dispatcher.py 2010-02-22 05:07:23 +0000
+++ cronscripts/code-import-dispatcher.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/create-debwatches.py'
--- cronscripts/create-debwatches.py 2009-10-19 17:59:47 +0000
+++ cronscripts/create-debwatches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/create_merge_proposals.py'
--- cronscripts/create_merge_proposals.py 2009-10-13 14:38:07 +0000
+++ cronscripts/create_merge_proposals.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/distributionmirror-prober.py'
--- cronscripts/distributionmirror-prober.py 2009-10-13 14:38:07 +0000
+++ cronscripts/distributionmirror-prober.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/expire-bugtasks.py'
--- cronscripts/expire-bugtasks.py 2009-10-13 14:38:07 +0000
+++ cronscripts/expire-bugtasks.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/expire-ppa-files.py'
--- cronscripts/expire-ppa-files.py 2010-01-20 10:32:32 +0000
+++ cronscripts/expire-ppa-files.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/expire-questions.py'
--- cronscripts/expire-questions.py 2009-10-13 14:38:07 +0000
+++ cronscripts/expire-questions.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/flag-expired-memberships.py'
--- cronscripts/flag-expired-memberships.py 2009-10-13 14:38:07 +0000
+++ cronscripts/flag-expired-memberships.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/foaf-update-karma-cache.py'
--- cronscripts/foaf-update-karma-cache.py 2009-10-13 14:38:07 +0000
+++ cronscripts/foaf-update-karma-cache.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -121,7 +121,7 @@
121 # VACUUM KarmaTotalCache since we have just touched every row in it.121 # VACUUM KarmaTotalCache since we have just touched every row in it.
122 self.cur.execute("""VACUUM KarmaTotalCache""")122 self.cur.execute("""VACUUM KarmaTotalCache""")
123123
124 # Insert new records into the KarmaTotalCache table. 124 # Insert new records into the KarmaTotalCache table.
125125
126 # XXX: salgado 2007-02-06:126 # XXX: salgado 2007-02-06:
127 # If deadlocks ever become a problem, first LOCK the127 # If deadlocks ever become a problem, first LOCK the
@@ -146,7 +146,7 @@
146146
147 def C_add_karmacache_sums(self):147 def C_add_karmacache_sums(self):
148 self.logger.info("Step C: Calculating KarmaCache sums")148 self.logger.info("Step C: Calculating KarmaCache sums")
149 # We must issue some SUM queries to insert the karma totals for: 149 # We must issue some SUM queries to insert the karma totals for:
150 # - All actions of a person on a given product.150 # - All actions of a person on a given product.
151 # - All actions of a person on a given distribution.151 # - All actions of a person on a given distribution.
152 # - All actions of a person on a given project.152 # - All actions of a person on a given project.
@@ -156,7 +156,7 @@
156156
157 # - All actions with a specific category of a person.157 # - All actions with a specific category of a person.
158 self.cur.execute("""158 self.cur.execute("""
159 INSERT INTO KarmaCache 159 INSERT INTO KarmaCache
160 (person, category, karmavalue, product, distribution,160 (person, category, karmavalue, product, distribution,
161 sourcepackagename, project)161 sourcepackagename, project)
162 SELECT person, category, SUM(karmavalue), NULL, NULL, NULL, NULL162 SELECT person, category, SUM(karmavalue), NULL, NULL, NULL, NULL
@@ -167,7 +167,7 @@
167167
168 # - All actions of a person on a given product.168 # - All actions of a person on a given product.
169 self.cur.execute("""169 self.cur.execute("""
170 INSERT INTO KarmaCache 170 INSERT INTO KarmaCache
171 (person, category, karmavalue, product, distribution,171 (person, category, karmavalue, product, distribution,
172 sourcepackagename, project)172 sourcepackagename, project)
173 SELECT person, NULL, SUM(karmavalue), product, NULL, NULL, NULL173 SELECT person, NULL, SUM(karmavalue), product, NULL, NULL, NULL
@@ -178,7 +178,7 @@
178178
179 # - All actions of a person on a given distribution.179 # - All actions of a person on a given distribution.
180 self.cur.execute("""180 self.cur.execute("""
181 INSERT INTO KarmaCache 181 INSERT INTO KarmaCache
182 (person, category, karmavalue, product, distribution,182 (person, category, karmavalue, product, distribution,
183 sourcepackagename, project)183 sourcepackagename, project)
184 SELECT person, NULL, SUM(karmavalue), NULL, distribution, NULL, NULL184 SELECT person, NULL, SUM(karmavalue), NULL, distribution, NULL, NULL
@@ -189,7 +189,7 @@
189189
190 # - All actions of a person on a given project.190 # - All actions of a person on a given project.
191 self.cur.execute("""191 self.cur.execute("""
192 INSERT INTO KarmaCache 192 INSERT INTO KarmaCache
193 (person, category, karmavalue, product, distribution,193 (person, category, karmavalue, product, distribution,
194 sourcepackagename, project)194 sourcepackagename, project)
195 SELECT person, NULL, SUM(karmavalue), NULL, NULL, NULL,195 SELECT person, NULL, SUM(karmavalue), NULL, NULL, NULL,
@@ -206,7 +206,7 @@
206 # inserted here will be included in the calculation of the overall206 # inserted here will be included in the calculation of the overall
207 # karma of a person on a given project.207 # karma of a person on a given project.
208 self.cur.execute("""208 self.cur.execute("""
209 INSERT INTO KarmaCache 209 INSERT INTO KarmaCache
210 (person, category, karmavalue, product, distribution,210 (person, category, karmavalue, product, distribution,
211 sourcepackagename, project)211 sourcepackagename, project)
212 SELECT person, category, SUM(karmavalue), NULL, NULL, NULL,212 SELECT person, category, SUM(karmavalue), NULL, NULL, NULL,
@@ -249,10 +249,10 @@
249 max_scaling = config.karmacacheupdater.max_scaling249 max_scaling = config.karmacacheupdater.max_scaling
250 if scaling[category] > max_scaling:250 if scaling[category] > max_scaling:
251 scaling[category] = max_scaling251 scaling[category] = max_scaling
252 self.logger.debug('Reducing %s scaling to %d to avoid spikes' 252 self.logger.debug('Reducing %s scaling to %d to avoid spikes'
253 % (categories[category], max_scaling))253 % (categories[category], max_scaling))
254 return scaling254 return scaling
255 255
256 def update_one_karma_cache_entry(self, entry, scaling):256 def update_one_karma_cache_entry(self, entry, scaling):
257 """Updates an individual (non-summed) KarmaCache entry.257 """Updates an individual (non-summed) KarmaCache entry.
258258
@@ -262,7 +262,7 @@
262 """262 """
263 (person_id, category_id, product_id, distribution_id, points) = entry263 (person_id, category_id, product_id, distribution_id, points) = entry
264 points *= scaling[category_id] # Scaled. wow.264 points *= scaling[category_id] # Scaled. wow.
265 self.logger.debug("Setting person_id=%d, category_id=%d, points=%d" 265 self.logger.debug("Setting person_id=%d, category_id=%d, points=%d"
266 % (person_id, category_id, points))266 % (person_id, category_id, points))
267267
268 points = int(points)268 points = int(points)
@@ -285,7 +285,7 @@
285285
286286
287if __name__ == '__main__':287if __name__ == '__main__':
288 script = KarmaCacheUpdater('karma-update', 288 script = KarmaCacheUpdater('karma-update',
289 dbuser=config.karmacacheupdater.dbuser)289 dbuser=config.karmacacheupdater.dbuser)
290 script.lock_and_run(implicit_begin=True)290 script.lock_and_run(implicit_begin=True)
291291
292292
=== modified file 'cronscripts/garbo-daily.py'
--- cronscripts/garbo-daily.py 2009-10-13 14:38:07 +0000
+++ cronscripts/garbo-daily.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/garbo-hourly.py'
--- cronscripts/garbo-hourly.py 2009-10-13 14:38:07 +0000
+++ cronscripts/garbo-hourly.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/generate-ppa-htaccess.py'
--- cronscripts/generate-ppa-htaccess.py 2009-10-13 14:38:07 +0000
+++ cronscripts/generate-ppa-htaccess.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/language-pack-exporter.py'
--- cronscripts/language-pack-exporter.py 2009-10-13 14:38:07 +0000
+++ cronscripts/language-pack-exporter.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/librarian-gc.py'
--- cronscripts/librarian-gc.py 2009-12-22 15:11:42 +0000
+++ cronscripts/librarian-gc.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/mpcreationjobs.py'
--- cronscripts/mpcreationjobs.py 2010-01-21 22:10:38 +0000
+++ cronscripts/mpcreationjobs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/oops-prune.py'
--- cronscripts/oops-prune.py 2009-10-13 14:38:07 +0000
+++ cronscripts/oops-prune.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/parse-librarian-apache-access-logs.py'
--- cronscripts/parse-librarian-apache-access-logs.py 2009-10-13 14:38:07 +0000
+++ cronscripts/parse-librarian-apache-access-logs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/ppa-generate-keys.py'
--- cronscripts/ppa-generate-keys.py 2009-10-13 14:38:07 +0000
+++ cronscripts/ppa-generate-keys.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/process-hwdb-submissions.py'
--- cronscripts/process-hwdb-submissions.py 2010-02-02 17:12:29 +0000
+++ cronscripts/process-hwdb-submissions.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/process-mail.py'
--- cronscripts/process-mail.py 2009-10-13 14:38:07 +0000
+++ cronscripts/process-mail.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/process-pending-packagediffs.py'
--- cronscripts/process-pending-packagediffs.py 2009-10-13 14:38:07 +0000
+++ cronscripts/process-pending-packagediffs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/product-release-finder.py'
--- cronscripts/product-release-finder.py 2009-10-13 14:38:07 +0000
+++ cronscripts/product-release-finder.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/reclaimbranchspace.py'
--- cronscripts/reclaimbranchspace.py 2009-10-13 14:38:07 +0000
+++ cronscripts/reclaimbranchspace.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/rosetta-approve-imports.py'
--- cronscripts/rosetta-approve-imports.py 2009-10-13 14:38:07 +0000
+++ cronscripts/rosetta-approve-imports.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/rosetta-branches.py'
--- cronscripts/rosetta-branches.py 2010-01-21 22:10:38 +0000
+++ cronscripts/rosetta-branches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/rosetta-export-queue.py'
--- cronscripts/rosetta-export-queue.py 2009-10-13 14:38:07 +0000
+++ cronscripts/rosetta-export-queue.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/rosetta-pofile-stats-daily.py'
--- cronscripts/rosetta-pofile-stats-daily.py 2009-10-13 14:38:07 +0000
+++ cronscripts/rosetta-pofile-stats-daily.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/rosetta-pofile-stats.py'
--- cronscripts/rosetta-pofile-stats.py 2009-10-13 14:38:07 +0000
+++ cronscripts/rosetta-pofile-stats.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/rosetta-poimport.py'
--- cronscripts/rosetta-poimport.py 2009-10-13 14:38:07 +0000
+++ cronscripts/rosetta-poimport.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/scan_branches.py'
--- cronscripts/scan_branches.py 2010-01-14 22:40:33 +0000
+++ cronscripts/scan_branches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2010 Canonical Ltd. This software is licensed under the3# Copyright 2010 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/send-bug-notifications.py'
--- cronscripts/send-bug-notifications.py 2009-10-13 14:38:07 +0000
+++ cronscripts/send-bug-notifications.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/send-person-notifications.py'
--- cronscripts/send-person-notifications.py 2010-02-17 17:21:00 +0000
+++ cronscripts/send-person-notifications.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/sendbranchmail.py'
--- cronscripts/sendbranchmail.py 2010-01-21 22:10:38 +0000
+++ cronscripts/sendbranchmail.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/supermirror-pull.py'
--- cronscripts/supermirror-pull.py 2010-02-24 04:24:01 +0000
+++ cronscripts/supermirror-pull.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/translations-export-to-branch.py'
--- cronscripts/translations-export-to-branch.py 2009-10-13 14:38:07 +0000
+++ cronscripts/translations-export-to-branch.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2# pylint: disable-msg=W04032# pylint: disable-msg=W0403
3#3#
4# Copyright 2009 Canonical Ltd. This software is licensed under the4# Copyright 2009 Canonical Ltd. This software is licensed under the
55
=== modified file 'cronscripts/update-bugtask-targetnamecaches.py'
--- cronscripts/update-bugtask-targetnamecaches.py 2009-10-13 14:38:07 +0000
+++ cronscripts/update-bugtask-targetnamecaches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-cve.py'
--- cronscripts/update-cve.py 2009-10-13 14:38:07 +0000
+++ cronscripts/update-cve.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-debwatches.py'
--- cronscripts/update-debwatches.py 2009-10-19 17:59:47 +0000
+++ cronscripts/update-debwatches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-pkgcache.py'
--- cronscripts/update-pkgcache.py 2009-11-17 02:33:27 +0000
+++ cronscripts/update-pkgcache.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-remote-product.py'
--- cronscripts/update-remote-product.py 2009-10-21 22:46:04 +0000
+++ cronscripts/update-remote-product.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-sourceforge-remote-products.py'
--- cronscripts/update-sourceforge-remote-products.py 2009-10-21 22:46:04 +0000
+++ cronscripts/update-sourceforge-remote-products.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-standing.py'
--- cronscripts/update-standing.py 2009-10-13 14:38:07 +0000
+++ cronscripts/update-standing.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update-stats.py'
--- cronscripts/update-stats.py 2009-11-17 02:33:27 +0000
+++ cronscripts/update-stats.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/update_preview_diffs.py'
--- cronscripts/update_preview_diffs.py 2009-12-10 18:48:00 +0000
+++ cronscripts/update_preview_diffs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'cronscripts/upgrade_branches.py'
--- cronscripts/upgrade_branches.py 2010-01-14 22:40:33 +0000
+++ cronscripts/upgrade_branches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'lib/canonical/launchpad/mailman/runmailman.py'
--- lib/canonical/launchpad/mailman/runmailman.py 2009-06-25 05:30:52 +0000
+++ lib/canonical/launchpad/mailman/runmailman.py 2010-02-25 17:26:19 +0000
@@ -48,10 +48,6 @@
48 stderr = None48 stderr = None
49 env = dict(os.environ)49 env = dict(os.environ)
50 env['LPCONFIG'] = config.instance_name50 env['LPCONFIG'] = config.instance_name
51 # We want to make sure that the Launchpad process will have the benefit of
52 # all of the dependency paths inserted by the buildout bin/run script. We
53 # pass them via PYTHONPATH.
54 env['PYTHONPATH'] = os.path.pathsep.join(sys.path)
55 process = subprocess.Popen(51 process = subprocess.Popen(
56 args, cwd=mailman_bin, stdout=stdout, stderr=stderr, env=env)52 args, cwd=mailman_bin, stdout=stdout, stderr=stderr, env=env)
57 code = process.wait()53 code = process.wait()
5854
=== modified file 'lib/lp/registry/tests/test_mlists.py'
--- lib/lp/registry/tests/test_mlists.py 2009-09-30 08:12:09 +0000
+++ lib/lp/registry/tests/test_mlists.py 2010-02-25 17:26:19 +0000
@@ -392,7 +392,6 @@
392 return Popen(args, stdout=PIPE, stderr=STDOUT,392 return Popen(args, stdout=PIPE, stderr=STDOUT,
393 cwd=LayerProcessController.appserver_config.root,393 cwd=LayerProcessController.appserver_config.root,
394 env=dict(LPCONFIG='testrunner-appserver',394 env=dict(LPCONFIG='testrunner-appserver',
395 PYTHONPATH=os.pathsep.join(sys.path),
396 PATH=os.environ['PATH']))395 PATH=os.environ['PATH']))
397396
398 def test_import(self):397 def test_import(self):
399398
=== added file 'lib/lp_sitecustomize.py'
--- lib/lp_sitecustomize.py 1970-01-01 00:00:00 +0000
+++ lib/lp_sitecustomize.py 2010-02-25 17:26:19 +0000
@@ -0,0 +1,22 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).
3
4# This file is imported by parts/scripts/sitecustomize.py, as set up in our
5# buildout.cfg (see the "initialization" key in the "[scripts]" section).
6
7import os
8from lp.services.mime import customizeMimetypes
9
10def main():
11 # Note that we configure the LPCONFIG environmental variable in the
12 # custom buildout-generated sitecustomize.py in
13 # parts/scripts/sitecustomize.py rather than here. This is because
14 # the instance name, ${configuration:instance_name}, is dynamic,
15 # sent to buildout from the Makefile. See buildout.cfg in the
16 # initialization value of the [scripts] section for the code that
17 # goes into this custom sitecustomize.py. We do as much other
18 # initialization as possible here, in a more visible place.
19 os.environ['STORM_CEXTENSIONS'] = '1'
20 customizeMimetypes()
21
22main()
023
=== removed file 'lib/site.py'
--- lib/site.py 2009-12-14 21:39:49 +0000
+++ lib/site.py 1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
1# LAUNCHPAD HACK OF STDLIB SITE.PY
2# Why are we hacking site.py?
3# The short answer is that namespace packages in setuptools have problems.
4# A longer answer is that we have to import pkg_resources before namespace
5# package .pth files are processed or else the distribution's namespace
6# packages will mask all of the egg-based packages in the same namespace
7# package. Normally, we handle that in bin/py or _pythonpath. but sometimes
8# we do subprocess calls, relying on the PYTHONPATH to set the eggs
9# correctly. It is for this situation that we have hacked site.py.
10
11# Before we actually import pkg_resources, we need to filter warnings,
12# because importing pkg_resources will otherwise trigger a type of
13# warnings that we don't care about. These warnings occur when Python
14# 2.5 and higher encounters directories that do not have an __init__.py.
15# These can be data directories, or namespace directories in
16# site-packages, such as "zope" or "lazr."
17__import__('warnings').filterwarnings(
18 'ignore', "Not importing directory '.+': missing __init__.py")
19
20# Now here is the important part:
21try:
22 __import__('pkg_resources') # Use __import__ to not pollute the namespace.
23except ImportError:
24 pass
25
26# Now, we want to get the usual site.py behavior.
27import os
28import sys
29execfile(
30 os.path.join(sys.prefix, 'lib', 'python' + sys.version[:3], 'site.py'))
310
=== modified file 'scripts/branch-distro.py'
--- scripts/branch-distro.py 2010-01-20 23:10:44 +0000
+++ scripts/branch-distro.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/branch-rewrite.py'
--- scripts/branch-rewrite.py 2009-10-13 14:38:07 +0000
+++ scripts/branch-rewrite.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.5 -u1#!/usr/bin/python2.5 -uS
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/bug-export.py'
--- scripts/bug-export.py 2009-10-19 17:59:47 +0000
+++ scripts/bug-export.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/bug-import.py'
--- scripts/bug-import.py 2009-10-19 17:59:47 +0000
+++ scripts/bug-import.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/bugzilla-import.py'
--- scripts/bugzilla-import.py 2009-10-13 14:38:07 +0000
+++ scripts/bugzilla-import.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/cache-country-mirrors.py'
--- scripts/cache-country-mirrors.py 2009-10-21 22:46:04 +0000
+++ scripts/cache-country-mirrors.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/clean-sourceforge-project-entries.py'
--- scripts/clean-sourceforge-project-entries.py 2009-10-13 14:38:07 +0000
+++ scripts/clean-sourceforge-project-entries.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/close-account.py'
--- scripts/close-account.py 2009-10-13 14:38:07 +0000
+++ scripts/close-account.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -126,7 +126,7 @@
126 ('PersonLanguage', 'person'),126 ('PersonLanguage', 'person'),
127 ('PersonLocation', 'person'),127 ('PersonLocation', 'person'),
128 ('SshKey', 'person'),128 ('SshKey', 'person'),
129 129
130 # Karma130 # Karma
131 ('Karma', 'person'),131 ('Karma', 'person'),
132 ('KarmaCache', 'person'),132 ('KarmaCache', 'person'),
133133
=== modified file 'scripts/code-import-worker-db.py'
--- scripts/code-import-worker-db.py 2009-10-13 14:38:07 +0000
+++ scripts/code-import-worker-db.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/code-import-worker.py'
--- scripts/code-import-worker.py 2010-02-04 01:12:05 +0000
+++ scripts/code-import-worker.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/convert-person-to-team.py'
--- scripts/convert-person-to-team.py 2009-10-13 14:38:07 +0000
+++ scripts/convert-person-to-team.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/copy-translations-from-parent.py'
--- scripts/copy-translations-from-parent.py 2009-10-13 14:38:07 +0000
+++ scripts/copy-translations-from-parent.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/entitlements-to-lp.py'
--- scripts/entitlements-to-lp.py 2009-10-19 17:59:47 +0000
+++ scripts/entitlements-to-lp.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/find-email-clusters.py'
--- scripts/find-email-clusters.py 2009-10-19 17:59:47 +0000
+++ scripts/find-email-clusters.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/archive-cruft-check.py'
--- scripts/ftpmaster-tools/archive-cruft-check.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/archive-cruft-check.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/archive-override-check.py'
--- scripts/ftpmaster-tools/archive-override-check.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/archive-override-check.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/buildd-mass-retry.py'
--- scripts/ftpmaster-tools/buildd-mass-retry.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/buildd-mass-retry.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/change-override.py'
--- scripts/ftpmaster-tools/change-override.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/change-override.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/copy-package.py'
--- scripts/ftpmaster-tools/copy-package.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/copy-package.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/initialise-from-parent.py'
--- scripts/ftpmaster-tools/initialise-from-parent.py 2009-11-17 02:33:27 +0000
+++ scripts/ftpmaster-tools/initialise-from-parent.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/lp-query-distro.py'
--- scripts/ftpmaster-tools/lp-query-distro.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/lp-query-distro.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/lp-remove-package.py'
--- scripts/ftpmaster-tools/lp-remove-package.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/lp-remove-package.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/manage-chroot.py'
--- scripts/ftpmaster-tools/manage-chroot.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/manage-chroot.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/obsolete-distroseries.py'
--- scripts/ftpmaster-tools/obsolete-distroseries.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/obsolete-distroseries.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/ppa-report.py'
--- scripts/ftpmaster-tools/ppa-report.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/ppa-report.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/queue'
--- scripts/ftpmaster-tools/queue 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/queue 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/remove-package.py'
--- scripts/ftpmaster-tools/remove-package.py 2009-10-19 17:59:47 +0000
+++ scripts/ftpmaster-tools/remove-package.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/sync-source.py'
--- scripts/ftpmaster-tools/sync-source.py 2010-02-11 16:51:14 +0000
+++ scripts/ftpmaster-tools/sync-source.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ftpmaster-tools/unembargo-package.py'
--- scripts/ftpmaster-tools/unembargo-package.py 2009-10-13 14:38:07 +0000
+++ scripts/ftpmaster-tools/unembargo-package.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/get-stacked-on-branches.py'
--- scripts/get-stacked-on-branches.py 2009-10-13 14:38:07 +0000
+++ scripts/get-stacked-on-branches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/gina.py'
--- scripts/gina.py 2009-10-13 14:38:07 +0000
+++ scripts/gina.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -11,7 +11,7 @@
11calls to the other classes and instances.11calls to the other classes and instances.
1212
13The callstack is essentially:13The callstack is essentially:
14 main -> run_gina 14 main -> run_gina
15 -> import_sourcepackages -> do_one_sourcepackage15 -> import_sourcepackages -> do_one_sourcepackage
16 -> import_binarypackages -> do_one_binarypackage16 -> import_binarypackages -> do_one_binarypackage
17"""17"""
1818
=== modified file 'scripts/import-debian-bugs.py'
--- scripts/import-debian-bugs.py 2009-10-13 14:38:07 +0000
+++ scripts/import-debian-bugs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/import-packagenames.py'
--- scripts/import-packagenames.py 2009-10-19 17:59:47 +0000
+++ scripts/import-packagenames.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/import-zope-specs.py'
--- scripts/import-zope-specs.py 2009-10-13 14:38:07 +0000
+++ scripts/import-zope-specs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -127,7 +127,7 @@
127 if author_headers:127 if author_headers:
128 author = author_headers[0].findNext().renderContents()128 author = author_headers[0].findNext().renderContents()
129 self.parseAuthorEmails(author)129 self.parseAuthorEmails(author)
130 130
131 @property131 @property
132 def lpname(self):132 def lpname(self):
133 # add dashes before capitalised words133 # add dashes before capitalised words
@@ -224,7 +224,7 @@
224 lpspec.declineBy(zope_dev)224 lpspec.declineBy(zope_dev)
225 lpspec.delivery = self.lpdelivery225 lpspec.delivery = self.lpdelivery
226 lpspec.updateLifecycleStatus(zope_dev)226 lpspec.updateLifecycleStatus(zope_dev)
227 227
228 # set the assignee to the first author email with an LP account228 # set the assignee to the first author email with an LP account
229 for author in sorted(self.authors):229 for author in sorted(self.authors):
230 person = getUtility(IPersonSet).getByEmail(author)230 person = getUtility(IPersonSet).getByEmail(author)
@@ -255,7 +255,7 @@
255 for tag in specanchor.nextSiblingGenerator()])255 for tag in specanchor.nextSiblingGenerator()])
256 yield ZopeSpec(href, title, summary.strip())256 yield ZopeSpec(href, title, summary.strip())
257257
258 258
259def main(argv):259def main(argv):
260 execute_zcml_for_scripts()260 execute_zcml_for_scripts()
261 ztm = initZopeless()261 ztm = initZopeless()
262262
=== modified file 'scripts/librarian-report.py'
--- scripts/librarian-report.py 2010-01-04 09:23:28 +0000
+++ scripts/librarian-report.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/linkreport.py'
--- scripts/linkreport.py 2009-10-13 14:38:07 +0000
+++ scripts/linkreport.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -200,7 +200,7 @@
200 "-t", "--to", dest="email", help="Email to ADDRESS",200 "-t", "--to", dest="email", help="Email to ADDRESS",
201 metavar="ADDRESS", default=None201 metavar="ADDRESS", default=None
202 )202 )
203 203
204 options, args = parser.parse_args()204 options, args = parser.parse_args()
205205
206 log = logger(options)206 log = logger(options)
207207
=== modified file 'scripts/list-team-members'
--- scripts/list-team-members 2009-12-07 19:42:12 +0000
+++ scripts/list-team-members 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/merge-email-clusters.py'
--- scripts/merge-email-clusters.py 2009-10-19 17:59:47 +0000
+++ scripts/merge-email-clusters.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/migrate-bugzilla-initialcontacts.py'
--- scripts/migrate-bugzilla-initialcontacts.py 2009-10-13 14:38:07 +0000
+++ scripts/migrate-bugzilla-initialcontacts.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/mirror-branch.py'
--- scripts/mirror-branch.py 2009-10-13 14:38:07 +0000
+++ scripts/mirror-branch.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/mlist-import.py'
--- scripts/mlist-import.py 2009-10-19 17:59:47 +0000
+++ scripts/mlist-import.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/mlist-sync.py'
--- scripts/mlist-sync.py 2009-10-19 17:59:47 +0000
+++ scripts/mlist-sync.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/modified-branches.py'
--- scripts/modified-branches.py 2009-10-13 14:38:07 +0000
+++ scripts/modified-branches.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/populate-archive.py'
--- scripts/populate-archive.py 2009-10-13 14:38:07 +0000
+++ scripts/populate-archive.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/ppa-add-missing-builds.py'
--- scripts/ppa-add-missing-builds.py 2010-01-27 17:45:03 +0000
+++ scripts/ppa-add-missing-builds.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2010 Canonical Ltd. This software is licensed under the3# Copyright 2010 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/process-accepted.py'
--- scripts/process-accepted.py 2010-02-23 10:54:35 +0000
+++ scripts/process-accepted.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/process-death-row.py'
--- scripts/process-death-row.py 2009-10-13 14:38:07 +0000
+++ scripts/process-death-row.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/process-upload.py'
--- scripts/process-upload.py 2009-10-13 14:38:07 +0000
+++ scripts/process-upload.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/publish-distro.py'
--- scripts/publish-distro.py 2009-10-13 14:38:07 +0000
+++ scripts/publish-distro.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/check-distroseries-translations-diffs.py'
--- scripts/rosetta/check-distroseries-translations-diffs.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/check-distroseries-translations-diffs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/fix_translation_credits.py'
--- scripts/rosetta/fix_translation_credits.py 2009-11-06 21:58:50 +0000
+++ scripts/rosetta/fix_translation_credits.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/gettext_check_messages.py'
--- scripts/rosetta/gettext_check_messages.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/gettext_check_messages.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/message-sharing-merge.py'
--- scripts/rosetta/message-sharing-merge.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/message-sharing-merge.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -18,7 +18,7 @@
18# TranslationTemplateItems:18# TranslationTemplateItems:
19#19#
20# GRANT DELETE ON POTMsgSET TO rosettaadmin;20# GRANT DELETE ON POTMsgSET TO rosettaadmin;
21# GRANT DELETE ON TranslationTemplateItem TO rosettaadmin; 21# GRANT DELETE ON TranslationTemplateItem TO rosettaadmin;
2222
2323
24if __name__ == '__main__':24if __name__ == '__main__':
2525
=== modified file 'scripts/rosetta/message-sharing-populate-test.py'
--- scripts/rosetta/message-sharing-populate-test.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/message-sharing-populate-test.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/message-sharing-populate.py'
--- scripts/rosetta/message-sharing-populate.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/message-sharing-populate.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/pottery-generate-intltool.py'
--- scripts/rosetta/pottery-generate-intltool.py 2010-02-16 16:42:34 +0000
+++ scripts/rosetta/pottery-generate-intltool.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/remove-obsolete-translations.py'
--- scripts/rosetta/remove-obsolete-translations.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/remove-obsolete-translations.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/remove-translations-by.py'
--- scripts/rosetta/remove-translations-by.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/remove-translations-by.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/remove-upstream-translations.py'
--- scripts/rosetta/remove-upstream-translations.py 2009-10-19 17:59:47 +0000
+++ scripts/rosetta/remove-upstream-translations.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/reupload-translations.py'
--- scripts/rosetta/reupload-translations.py 2009-10-14 13:13:47 +0000
+++ scripts/rosetta/reupload-translations.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/env python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/share-jaunty-translations.py'
--- scripts/rosetta/share-jaunty-translations.py 2009-10-13 14:38:07 +0000
+++ scripts/rosetta/share-jaunty-translations.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/rosetta/validate-translations-file.py'
--- scripts/rosetta/validate-translations-file.py 2010-01-06 06:04:54 +0000
+++ scripts/rosetta/validate-translations-file.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#!/usr/bin/python2.5 -S
2# Copyright 2010 Canonical Ltd. This software is licensed under the2# Copyright 2010 Canonical Ltd. This software is licensed under the
3# GNU Affero General Public License version 3 (see the file LICENSE).3# GNU Affero General Public License version 3 (see the file LICENSE).
44
55
=== modified file 'scripts/script-monitor-nagios.py'
--- scripts/script-monitor-nagios.py 2009-10-13 14:38:07 +0000
+++ scripts/script-monitor-nagios.py 2010-02-25 17:26:19 +0000
@@ -1,11 +1,11 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
6"""Nagios plugin for script monitoring.6"""Nagios plugin for script monitoring.
77
8This script is needed as separate from script-monitor.py because Nagios 8This script is needed as separate from script-monitor.py because Nagios
9only understands one line of returned text, and interprets specific9only understands one line of returned text, and interprets specific
10return codes as plugin statuses. These are:10return codes as plugin statuses. These are:
1111
@@ -14,7 +14,7 @@
14 2: CRITICAL14 2: CRITICAL
15 3: UNKNOWN15 3: UNKNOWN
1616
17As such, it was felt more appropriate to separate out the scripts, 17As such, it was felt more appropriate to separate out the scripts,
18even though there is some code duplication.18even though there is some code duplication.
19"""19"""
2020
@@ -34,8 +34,8 @@
3434
3535
36def main():36def main():
37 # XXX: Tom Haddon 2007-07-12 37 # XXX: Tom Haddon 2007-07-12
38 # There's a lot of untested stuff here: parsing options - 38 # There's a lot of untested stuff here: parsing options -
39 # this should be moved into a testable location.39 # this should be moved into a testable location.
40 # Also duplicated code in scripts/script-monitor.py40 # Also duplicated code in scripts/script-monitor.py
41 parser = OptionParser(41 parser = OptionParser(
@@ -81,7 +81,7 @@
81 error_found = False81 error_found = False
82 msg = []82 msg = []
83 for hostname, scriptname in hosts_scripts:83 for hostname, scriptname in hosts_scripts:
84 failure_msg = check_script(con, log, hostname, 84 failure_msg = check_script(con, log, hostname,
85 scriptname, completed_from, completed_to)85 scriptname, completed_from, completed_to)
86 if failure_msg is not None:86 if failure_msg is not None:
87 msg.append("%s:%s" % (hostname, scriptname))87 msg.append("%s:%s" % (hostname, scriptname))
8888
=== modified file 'scripts/script-monitor.py'
--- scripts/script-monitor.py 2009-10-13 14:38:07 +0000
+++ scripts/script-monitor.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
@@ -23,7 +23,7 @@
2323
2424
25def main():25def main():
26 # XXX: Tom Haddon 2007-07-12 26 # XXX: Tom Haddon 2007-07-12
27 # There's a lot of untested stuff here: parsing options and sending27 # There's a lot of untested stuff here: parsing options and sending
28 # emails - this should be moved into a testable location.28 # emails - this should be moved into a testable location.
29 # Also duplicated code in scripts/script-monitor-nagios.py29 # Also duplicated code in scripts/script-monitor-nagios.py
@@ -68,7 +68,7 @@
68 error_found = False68 error_found = False
69 msg, subj = [], []69 msg, subj = [], []
70 for hostname, scriptname in hosts_scripts:70 for hostname, scriptname in hosts_scripts:
71 failure_msg = check_script(con, log, hostname, 71 failure_msg = check_script(con, log, hostname,
72 scriptname, completed_from, completed_to)72 scriptname, completed_from, completed_to)
73 if failure_msg is not None:73 if failure_msg is not None:
74 msg.append(failure_msg)74 msg.append(failure_msg)
@@ -81,7 +81,7 @@
81 msg['From'] = 'script-failures@launchpad.net'81 msg['From'] = 'script-failures@launchpad.net'
82 msg['Reply-To'] = 'launchpad@lists.canonical.com'82 msg['Reply-To'] = 'launchpad@lists.canonical.com'
83 msg['To'] = 'launchpad@lists.canonical.com'83 msg['To'] = 'launchpad@lists.canonical.com'
84 84
85 # Send out the email85 # Send out the email
86 smtp = smtplib.SMTP()86 smtp = smtplib.SMTP()
87 smtp.connect()87 smtp.connect()
8888
=== modified file 'scripts/sourceforge-import.py'
--- scripts/sourceforge-import.py 2009-10-19 17:59:47 +0000
+++ scripts/sourceforge-import.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/update-stacked-on.py'
--- scripts/update-stacked-on.py 2010-01-20 23:10:44 +0000
+++ scripts/update-stacked-on.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'scripts/upload2librarian.py'
--- scripts/upload2librarian.py 2009-10-19 17:59:47 +0000
+++ scripts/upload2librarian.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/check-configs.py'
--- utilities/check-configs.py 2009-10-17 14:06:03 +0000
+++ utilities/check-configs.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#! /usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/check-content-interfaces.py'
--- utilities/check-content-interfaces.py 2009-10-17 14:06:03 +0000
+++ utilities/check-content-interfaces.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#! /usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/check-sampledata.py'
--- utilities/check-sampledata.py 2009-10-17 14:06:03 +0000
+++ utilities/check-sampledata.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#! /usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/check-scripts.py'
--- utilities/check-scripts.py 2009-10-19 17:59:47 +0000
+++ utilities/check-scripts.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#! /usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/create-lp-wadl.py'
--- utilities/create-lp-wadl.py 2009-10-17 14:06:03 +0000
+++ utilities/create-lp-wadl.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#! /usr/bin/python2.51#! /usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/ec2'
--- utilities/ec2 2009-10-23 15:17:57 +0000
+++ utilities/ec2 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
22
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/generate-external-bug-status-docs'
--- utilities/generate-external-bug-status-docs 2009-10-17 14:06:03 +0000
+++ utilities/generate-external-bug-status-docs 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/get-branch-info'
--- utilities/get-branch-info 2009-10-17 14:06:03 +0000
+++ utilities/get-branch-info 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/list-person-references.py'
--- utilities/list-person-references.py 2009-10-17 14:06:03 +0000
+++ utilities/list-person-references.py 2010-02-25 17:26:19 +0000
@@ -1,8 +1,10 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
6import _pythonpath
7
6import sys8import sys
7from canonical.lp import initZopeless9from canonical.lp import initZopeless
8from canonical.database import postgresql10from canonical.database import postgresql
911
=== modified file 'utilities/lsconf.py'
--- utilities/lsconf.py 2009-10-19 17:59:47 +0000
+++ utilities/lsconf.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/make-dummy-hosted-branches'
--- utilities/make-dummy-hosted-branches 2009-10-17 14:06:03 +0000
+++ utilities/make-dummy-hosted-branches 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/make-lp-user'
--- utilities/make-lp-user 2009-10-17 14:06:03 +0000
+++ utilities/make-lp-user 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/mock-code-import'
--- utilities/mock-code-import 2009-10-17 14:06:03 +0000
+++ utilities/mock-code-import 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/page-performance-report.py'
--- utilities/page-performance-report.py 2010-01-28 11:47:10 +0000
+++ utilities/page-performance-report.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2010 Canonical Ltd. This software is licensed under the3# Copyright 2010 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/paste'
--- utilities/paste 2009-10-19 17:59:47 +0000
+++ utilities/paste 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/env python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'utilities/sanitize-db.py'
--- utilities/sanitize-db.py 2009-10-14 13:13:47 +0000
+++ utilities/sanitize-db.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2# Copyright 2009 Canonical Ltd. This software is licensed under the2# Copyright 2009 Canonical Ltd. This software is licensed under the
3# GNU Affero General Public License version 3 (see the file LICENSE).3# GNU Affero General Public License version 3 (see the file LICENSE).
44
55
=== modified file 'utilities/update-revisionauthor-email.py'
--- utilities/update-revisionauthor-email.py 2009-10-17 14:06:03 +0000
+++ utilities/update-revisionauthor-email.py 2010-02-25 17:26:19 +0000
@@ -1,4 +1,4 @@
1#!/usr/bin/python2.51#!/usr/bin/python2.5 -S
2#2#
3# Copyright 2009 Canonical Ltd. This software is licensed under the3# Copyright 2009 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
=== modified file 'versions.cfg'
--- versions.cfg 2010-02-24 23:18:40 +0000
+++ versions.cfg 2010-02-25 17:26:19 +0000
@@ -92,8 +92,9 @@
92z3c.pagelet = 1.0.292z3c.pagelet = 1.0.2
93z3c.pt = 1.0b1693z3c.pt = 1.0b16
94z3c.ptcompat = 0.5.394z3c.ptcompat = 0.5.3
95z3c.recipe.filetemplate = 2.1dev-gary-r10507595z3c.recipe.filetemplate = 2.0.2
96z3c.recipe.i18n = 0.5.396z3c.recipe.i18n = 0.5.3
97z3c.recipe.scripts = 1.0.0dev-gary-r109416
97z3c.recipe.tag = 0.2.098z3c.recipe.tag = 0.2.0
98z3c.rml = 0.7.399z3c.rml = 0.7.3
99z3c.skin.pagelet = 1.0.2100z3c.skin.pagelet = 1.0.2
@@ -103,12 +104,12 @@
103z3c.viewlet = 1.0.0104z3c.viewlet = 1.0.0
104z3c.viewtemplate = 0.3.2105z3c.viewtemplate = 0.3.2
105z3c.zrtresource = 1.0.1106z3c.zrtresource = 1.0.1
106zc.buildout = 1.5.0dev-gary-r108342107zc.buildout = 1.5.0dev-gary-r109427
107zc.catalog = 1.2.0108zc.catalog = 1.2.0
108zc.datetimewidget = 0.5.2109zc.datetimewidget = 0.5.2
109zc.i18n = 0.5.2110zc.i18n = 0.5.2
110zc.lockfile = 1.0.0111zc.lockfile = 1.0.0
111zc.recipe.egg = 1.3.0dev-gary-r105072112zc.recipe.egg = 1.2.3dev-gary-r109335
112zc.zservertracelog = 1.1.5113zc.zservertracelog = 1.1.5
113ZConfig = 2.7.1114ZConfig = 2.7.1
114zdaemon = 2.0.4115zdaemon = 2.0.4