Merge lp:~jml/launchpad/patmos-1 into lp:launchpad

Proposed by Jonathan Lange
Status: Merged
Approved by: Jonathan Lange
Approved revision: no longer in the source branch.
Merged at revision: 11895
Proposed branch: lp:~jml/launchpad/patmos-1
Merge into: lp:launchpad
Diff against target: 1930 lines (+277/-418)
90 files modified
cronscripts/create-debwatches.py (+1/-1)
cronscripts/distributionmirror-prober.py (+5/-2)
cronscripts/flag-expired-memberships.py (+5/-3)
cronscripts/foaf-update-karma-cache.py (+1/-1)
cronscripts/parse-ppa-apache-access-logs.py (+1/-3)
cronscripts/process-mail.py (+1/-1)
cronscripts/send-bug-notifications.py (+1/-1)
cronscripts/update-debwatches.py (+12/-3)
cronscripts/update-pkgcache.py (+1/-2)
cronscripts/update-stats.py (+5/-3)
database/schema/pending/add-mailing-list-experts.py (+5/-2)
database/schema/pending/create-openid-rp-configs.py (+0/-51)
database/schema/pending/import_language_packs.py (+0/-69)
database/schema/pending/update-shippingrequest-types.py (+0/-51)
lib/canonical/database/harness.py (+0/-1)
lib/canonical/database/sqlbase.py (+3/-3)
lib/canonical/launchpad/browser/feeds.py (+16/-12)
lib/canonical/launchpad/browser/launchpadstatistic.py (+3/-1)
lib/canonical/launchpad/browser/librarian.py (+1/-1)
lib/canonical/launchpad/browser/packagerelationship.py (+1/-1)
lib/canonical/launchpad/components/cdatetime.py (+1/-1)
lib/canonical/launchpad/components/tokens.py (+1/-1)
lib/canonical/launchpad/database/account.py (+1/-2)
lib/canonical/launchpad/database/emailaddress.py (+1/-1)
lib/canonical/launchpad/database/launchpadstatistic.py (+3/-3)
lib/canonical/launchpad/database/librarian.py (+2/-2)
lib/canonical/launchpad/database/logintoken.py (+5/-5)
lib/canonical/launchpad/database/message.py (+7/-5)
lib/canonical/launchpad/database/oauth.py (+1/-1)
lib/canonical/launchpad/database/temporaryblobstorage.py (+2/-2)
lib/canonical/launchpad/doc/security.txt (+1/-1)
lib/canonical/launchpad/doc/validation.txt (+1/-1)
lib/canonical/launchpad/doc/xmlrpc-selftest.txt (+1/-1)
lib/canonical/launchpad/helpers.py (+1/-1)
lib/canonical/launchpad/interfaces/ftests/validation.txt (+2/-1)
lib/canonical/launchpad/interfaces/validation.py (+4/-4)
lib/canonical/launchpad/mail/commands.py (+24/-18)
lib/canonical/launchpad/mail/handlers.py (+13/-11)
lib/canonical/launchpad/mail/helpers.py (+2/-2)
lib/canonical/launchpad/mail/meta.py (+1/-1)
lib/canonical/launchpad/mailnotification.py (+10/-8)
lib/canonical/launchpad/pagetitles.py (+2/-4)
lib/canonical/launchpad/rest/__init__.py (+3/-0)
lib/canonical/launchpad/rest/me.py (+1/-1)
lib/canonical/launchpad/rest/pillarset.py (+2/-2)
lib/canonical/launchpad/subscribers/karma.py (+1/-1)
lib/canonical/launchpad/systemhomes.py (+20/-14)
lib/canonical/launchpad/testing/fakepackager.py (+2/-4)
lib/canonical/launchpad/testing/pages.py (+3/-3)
lib/canonical/launchpad/testing/systemdocs.py (+1/-1)
lib/canonical/launchpad/utilities/celebrities.py (+7/-9)
lib/canonical/launchpad/utilities/personroles.py (+1/-1)
lib/canonical/launchpad/webapp/adapter.py (+1/-1)
lib/canonical/launchpad/webapp/dbpolicy.py (+1/-2)
lib/canonical/launchpad/webapp/launchbag.py (+12/-14)
lib/canonical/launchpad/xmlrpc/__init__.py (+0/-6)
lib/canonical/launchpad/xmlrpc/application.py (+3/-3)
lib/canonical/launchpad/xmlrpc/authserver.py (+2/-4)
lib/canonical/launchpad/xmlrpc/configure.zcml (+4/-4)
lib/canonical/launchpad/zcml/launchpad.zcml (+4/-4)
lib/canonical/lazr/feed/feed.py (+1/-1)
lib/canonical/testing/layers.py (+2/-1)
lib/canonical/widgets/announcementdate.py (+1/-1)
lib/canonical/widgets/branch.py (+1/-1)
lib/canonical/widgets/bugtask.py (+7/-3)
lib/canonical/widgets/date.py (+1/-1)
lib/canonical/widgets/launchpadtarget.py (+6/-3)
lib/canonical/widgets/owner.py (+1/-1)
lib/canonical/widgets/password.py (+1/-1)
lib/canonical/widgets/product.py (+3/-2)
lib/lp/bugs/configure.zcml (+1/-1)
lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt (+1/-1)
lib/lp/bugs/tests/externalbugtracker.py (+1/-1)
lib/lp/code/configure.zcml (+4/-4)
lib/lp/registry/configure.zcml (+2/-2)
lib/lp/registry/interfaces/commercialsubscription.py (+1/-6)
lib/lp/registry/interfaces/product.py (+2/-0)
lib/lp/services/features/browser/configure.zcml (+1/-1)
scripts/bug-export.py (+1/-1)
scripts/bug-import.py (+1/-1)
scripts/cache-country-mirrors.py (+3/-2)
scripts/close-account.py (+3/-3)
scripts/convert-person-to-team.py (+2/-1)
scripts/ftpmaster-tools/initialise-from-parent.py (+1/-1)
scripts/ftpmaster-tools/remove-package.py (+1/-1)
scripts/ftpmaster-tools/sync-source.py (+2/-4)
scripts/migrate-bugzilla-initialcontacts.py (+3/-3)
scripts/mlist-sync.py (+3/-2)
scripts/rosetta/check-distroseries-translations-diffs.py (+1/-1)
utilities/make-lp-user (+3/-5)
To merge this branch: bzr merge lp:~jml/launchpad/patmos-1
Reviewer Review Type Date Requested Status
Jonathan Lange (community) Approve
Review via email: mp+40337@code.launchpad.net

Commit message

Fix a bunch of direct imports of c.l.interfaces.

Description of the change

This fixes a bunch of stuff that imports directly from c.l.interfaces to import from the actual location where the relevant object is kept.

To post a comment you must log in.
Revision history for this message
Jonathan Lange (jml) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'cronscripts/create-debwatches.py'
2--- cronscripts/create-debwatches.py 2010-10-03 15:30:06 +0000
3+++ cronscripts/create-debwatches.py 2010-11-09 13:21:19 +0000
4@@ -22,7 +22,7 @@
5 from lp.services.scripts.base import (
6 LaunchpadCronScript, LaunchpadScriptFailure)
7 from canonical.launchpad.scripts.debsync import do_import
8-from canonical.launchpad.interfaces import ILaunchpadCelebrities
9+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
10
11
12 # setup core values and defaults
13
14=== modified file 'cronscripts/distributionmirror-prober.py'
15--- cronscripts/distributionmirror-prober.py 2010-10-03 15:30:06 +0000
16+++ cronscripts/distributionmirror-prober.py 2010-11-09 13:21:19 +0000
17@@ -20,8 +20,11 @@
18 from canonical.database.sqlbase import ISOLATION_LEVEL_AUTOCOMMIT
19 from lp.services.scripts.base import (
20 LaunchpadCronScript, LaunchpadScriptFailure)
21-from canonical.launchpad.interfaces import (
22- IDistributionMirrorSet, ILibraryFileAliasSet, MirrorContent)
23+from lp.registry.interfaces.distributionmirror import (
24+ IDistributionMirrorSet,
25+ MirrorContent,
26+ )
27+from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
28 from canonical.launchpad.webapp import canonical_url
29 from lp.registry.scripts.distributionmirror_prober import (
30 get_expected_cdimage_paths, probe_archive_mirror, probe_cdimage_mirror)
31
32=== modified file 'cronscripts/flag-expired-memberships.py'
33--- cronscripts/flag-expired-memberships.py 2010-10-03 15:30:06 +0000
34+++ cronscripts/flag-expired-memberships.py 2010-11-09 13:21:19 +0000
35@@ -15,9 +15,11 @@
36 from zope.component import getUtility
37
38 from canonical.config import config
39-from canonical.launchpad.interfaces import (
40- DAYS_BEFORE_EXPIRATION_WARNING_IS_SENT, ILaunchpadCelebrities,
41- ITeamMembershipSet)
42+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
43+from lp.registry.interfaces.teammembership import (
44+ DAYS_BEFORE_EXPIRATION_WARNING_IS_SENT,
45+ ITeamMembershipSet,
46+ )
47 from lp.services.scripts.base import (
48 LaunchpadCronScript, LaunchpadScriptFailure)
49
50
51=== modified file 'cronscripts/foaf-update-karma-cache.py'
52--- cronscripts/foaf-update-karma-cache.py 2010-10-03 15:30:06 +0000
53+++ cronscripts/foaf-update-karma-cache.py 2010-11-09 13:21:19 +0000
54@@ -12,8 +12,8 @@
55 from canonical.config import config
56 from canonical.database.sqlbase import (
57 ISOLATION_LEVEL_AUTOCOMMIT, flush_database_updates)
58-from canonical.launchpad.interfaces import IKarmaCacheManager
59 from lp.app.errors import NotFoundError
60+from lp.registry.interfaces.karma import IKarmaCacheManager
61 from lp.services.scripts.base import LaunchpadCronScript
62
63
64
65=== modified file 'cronscripts/parse-ppa-apache-access-logs.py'
66--- cronscripts/parse-ppa-apache-access-logs.py 2010-06-10 05:22:58 +0000
67+++ cronscripts/parse-ppa-apache-access-logs.py 2010-11-09 13:21:19 +0000
68@@ -14,9 +14,7 @@
69 from zope.component import getUtility
70
71 from canonical.config import config
72-# XXX: wgrant 2010-03-16 bug=539496: Importing directly from
73-# lp.registry.interfaces.person results in a circular import.
74-from canonical.launchpad.interfaces import IPersonSet
75+from lp.registry.interfaces.person import IPersonSet
76 from lp.soyuz.interfaces.archive import NoSuchPPA
77 from lp.soyuz.scripts.ppa_apache_log_parser import DBUSER, get_ppa_file_key
78 from lp.services.apachelogparser.script import ParseApacheLogs
79
80=== modified file 'cronscripts/process-mail.py'
81--- cronscripts/process-mail.py 2010-10-11 18:29:14 +0000
82+++ cronscripts/process-mail.py 2010-11-09 13:21:19 +0000
83@@ -14,7 +14,7 @@
84 from lp.services.scripts.base import (
85 LaunchpadCronScript, LaunchpadScriptFailure)
86 from lp.services.mail.incoming import handleMail
87-from canonical.launchpad.interfaces import IMailBox
88+from canonical.launchpad.interfaces.mailbox import IMailBox
89
90
91 class ProcessMail(LaunchpadCronScript):
92
93=== modified file 'cronscripts/send-bug-notifications.py'
94--- cronscripts/send-bug-notifications.py 2010-10-03 15:30:06 +0000
95+++ cronscripts/send-bug-notifications.py 2010-11-09 13:21:19 +0000
96@@ -19,8 +19,8 @@
97
98 from canonical.config import config
99 from canonical.database.constants import UTC_NOW
100-from canonical.launchpad.interfaces import IBugNotificationSet
101 from canonical.launchpad.mail import sendmail
102+from lp.bugs.interfaces.bugnotification import IBugNotificationSet
103 from lp.bugs.scripts.bugnotification import get_email_notifications
104 from lp.services.scripts.base import LaunchpadCronScript
105
106
107=== modified file 'cronscripts/update-debwatches.py'
108--- cronscripts/update-debwatches.py 2010-10-03 15:30:06 +0000
109+++ cronscripts/update-debwatches.py 2010-11-09 13:21:19 +0000
110@@ -15,12 +15,21 @@
111 # zope bits
112 from zope.component import getUtility
113
114+from lp.bugs.interfaces.bug import IBugSet
115+from lp.bugs.interfaces.bugtask import (
116+ BugTaskSearchParams,
117+ IBugTaskSet,
118+ )
119+from lp.bugs.interfaces.bugwatch import IBugWatchSet
120+from lp.bugs.interfaces.cve import ICveSet
121 from lp.bugs.scripts import debbugs
122 from lp.services.scripts.base import (LaunchpadCronScript,
123 LaunchpadScriptFailure)
124-from canonical.launchpad.interfaces import (IBugSet,
125- ILaunchpadCelebrities, InvalidEmailMessage, IBugTaskSet,
126- IBugWatchSet, IMessageSet, ICveSet, BugTaskSearchParams)
127+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
128+from canonical.launchpad.interfaces.message import (
129+ InvalidEmailMessage,
130+ IMessageSet,
131+ )
132 from canonical.database.constants import UTC_NOW
133
134 # setup core values and defaults
135
136=== modified file 'cronscripts/update-pkgcache.py'
137--- cronscripts/update-pkgcache.py 2010-10-03 15:30:06 +0000
138+++ cronscripts/update-pkgcache.py 2010-11-09 13:21:19 +0000
139@@ -13,8 +13,7 @@
140
141 from zope.component import getUtility
142
143-from canonical.config import config
144-from canonical.launchpad.interfaces import IDistributionSet
145+from lp.registry.interfaces.distribution import IDistributionSet
146 from lp.services.scripts.base import LaunchpadCronScript
147
148
149
150=== modified file 'cronscripts/update-stats.py'
151--- cronscripts/update-stats.py 2010-10-03 15:30:06 +0000
152+++ cronscripts/update-stats.py 2010-11-09 13:21:19 +0000
153@@ -11,10 +11,12 @@
154
155 from zope.component import getUtility
156 from canonical.database.sqlbase import ISOLATION_LEVEL_READ_COMMITTED
157+from canonical.launchpad.interfaces.launchpadstatistic import (
158+ ILaunchpadStatisticSet,
159+ )
160 from lp.services.scripts.base import LaunchpadCronScript
161-from canonical.launchpad.interfaces import (
162- IDistributionSet, ILaunchpadStatisticSet, IPersonSet
163- )
164+from lp.registry.interfaces.distribution import IDistributionSet
165+from lp.registry.interfaces.person import IPersonSet
166 from canonical.config import config
167
168
169
170=== modified file 'database/schema/pending/add-mailing-list-experts.py'
171--- database/schema/pending/add-mailing-list-experts.py 2010-10-03 15:30:06 +0000
172+++ database/schema/pending/add-mailing-list-experts.py 2010-11-09 13:21:19 +0000
173@@ -9,10 +9,13 @@
174
175 from zope.component import getUtility
176
177+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
178 from canonical.launchpad.scripts import execute_zcml_for_scripts
179 from canonical.lp import initZopeless
180-from canonical.launchpad.interfaces import (
181- ILaunchpadCelebrities, IPersonSet, TeamSubscriptionPolicy)
182+from lp.registry.interfaces.person import (
183+ IPersonSet,
184+ TeamSubscriptionPolicy,
185+ )
186
187
188 execute_zcml_for_scripts()
189
190=== removed file 'database/schema/pending/create-openid-rp-configs.py'
191--- database/schema/pending/create-openid-rp-configs.py 2010-10-03 15:30:06 +0000
192+++ database/schema/pending/create-openid-rp-configs.py 1970-01-01 00:00:00 +0000
193@@ -1,51 +0,0 @@
194-#!/usr/bin/python -S
195-#
196-# Copyright 2009 Canonical Ltd. This software is licensed under the
197-# GNU Affero General Public License version 3 (see the file LICENSE).
198-
199-# A script to create OpenIDRPConfigs for trust roots we care about.
200-# This is essentially porting the values from the KNOWN_TRUST_ROOTS
201-# dict that we care about.
202-
203-import _pythonpath
204-
205-import os
206-
207-from zope.component import getUtility
208-
209-from canonical.config import config
210-from canonical.launchpad.interfaces import (
211- ILibraryFileAliasSet, IOpenIDRPConfigSet)
212-from canonical.launchpad.scripts import execute_zcml_for_scripts
213-from canonical.lp import initZopeless
214-from canonical.launchpad.interfaces import PersonCreationRationale as PCR
215-
216-execute_zcml_for_scripts()
217-ztm = initZopeless()
218-
219-# Create Canonical logo file in Librarian
220-filename = os.path.join(
221- config.root, 'lib/canonical/launchpad/icing/canonical-logo.png')
222-size = os.path.getsize(filename)
223-fp = open(filename, 'rb')
224-logo = getUtility(ILibraryFileAliasSet).create(
225- name='canonical-logo.png', size=size, file=fp, contentType='image/png')
226-
227-# Create RP configs
228-for trust_root in ['http://pdl-dev.co.uk', 'http://www.mmania.biz',
229- 'http://shop.canonical.com', 'https://shop.canonical.com',
230- 'https://testshop.canonical.com']:
231- rpconfig = getUtility(IOpenIDRPConfigSet).new(
232- trust_root=trust_root,
233- displayname="The Ubuntu Store from Canonical",
234- description=("For the Ubuntu Store, you need a Launchpad account "
235- "so we can remember your order details and keep in "
236- "touch with you about your orders."),
237- logo=logo,
238- allowed_sreg=['email', 'fullname', 'nickname',
239- 'x_address1', 'x_address2', 'x_organization',
240- 'x_city', 'x_province', 'country', 'postcode',
241- 'x_phone'],
242- creation_rationale=PCR.OWNER_CREATED_UBUNTU_SHOP)
243-
244-ztm.commit()
245
246=== removed file 'database/schema/pending/import_language_packs.py'
247--- database/schema/pending/import_language_packs.py 2010-10-03 15:30:06 +0000
248+++ database/schema/pending/import_language_packs.py 1970-01-01 00:00:00 +0000
249@@ -1,69 +0,0 @@
250-#!/usr/bin/python
251-#
252-# Copyright 2009 Canonical Ltd. This software is licensed under the
253-# GNU Affero General Public License version 3 (see the file LICENSE).
254-
255-"""Script to upload existing language packs into Launchpad."""
256-
257-from urllib2 import urlopen
258-from zope.component import getUtility
259-
260-from canonical.launchpad.scripts import execute_zcml_for_scripts
261-from canonical.launchpad.interfaces import (
262- IDistributionSet, ILanguagePackSet, LanguagePackType)
263-from canonical.librarian.interfaces import ILibrarianClient
264-from canonical.lp import initZopeless
265-
266-language_packs_dates = {
267- 'dapper': '2007-08-03',
268- 'edgy': '2006-10-19',
269- 'feisty': '2007-04-12',
270- 'gutsy': '2007-08-02',
271- }
272-
273-
274-def get_langpack_url(distroseries_name, export_date):
275- filename = 'rosetta-%s-%s.tar.gz' % (distroseries_name, export_date)
276- return 'http://people.ubuntu.com/~carlos/language-packs/%s/%s' % (
277- distroseries_name, filename)
278-
279-
280-def main():
281- # setup a transaction manager to LPDB
282- tm = initZopeless()
283-
284- # load the zcml configuration
285- execute_zcml_for_scripts()
286-
287- # get an librarian client instance
288- client = getUtility(ILibrarianClient)
289-
290- for distroseries_name, langpack_date in language_packs_dates.iteritems():
291- # Open the language pack file.
292- langpack = urlopen(get_langpack_url(distroseries_name, langpack_date))
293-
294- # Get some metadata information.
295- flen = int(langpack.info()['Content-Length'])
296- filename = 'ubuntu-%s-translations.tar.gz' % distroseries_name
297- ftype = 'application/x-gtar'
298-
299- # Add it to Librarian
300- file_alias = client.addFile(
301- filename, flen, langpack, contentType=ftype)
302-
303- # Register it in the LanguagePack table.
304- distribution = getUtility(IDistributionSet)['ubuntu']
305- distroseries = distribution.getSeries(distroseries_name)
306- language_pack_set = getUtility(ILanguagePackSet)
307- lang_pack_type = LanguagePackType.FULL
308-
309- # And set it as the base one.
310- distroseries.language_pack_base = language_pack_set.addLanguagePack(
311- distroseries, file_alias, lang_pack_type)
312-
313- # Store the changes.
314- tm.commit()
315-
316-
317-if __name__ == '__main__':
318- main()
319
320=== removed file 'database/schema/pending/update-shippingrequest-types.py'
321--- database/schema/pending/update-shippingrequest-types.py 2010-10-03 15:30:06 +0000
322+++ database/schema/pending/update-shippingrequest-types.py 1970-01-01 00:00:00 +0000
323@@ -1,51 +0,0 @@
324-#!/usr/bin/python -S
325-#
326-# Copyright 2009 Canonical Ltd. This software is licensed under the
327-# GNU Affero General Public License version 3 (see the file LICENSE).
328-
329-# Update the type of all Feisty requests since these are the only ones we can
330-# still infer.
331-
332-import _pythonpath
333-
334-from canonical.database.sqlbase import cursor, sqlvalues
335-from canonical.launchpad.database import ShippingRequest
336-from canonical.launchpad.scripts import execute_zcml_for_scripts
337-from canonical.lp import initZopeless
338-from canonical.launchpad.interfaces import (
339- ShipItDistroSeries, ShipItFlavour, ShippingRequestType)
340-
341-
342-execute_zcml_for_scripts()
343-ztm = initZopeless(implicitBegin=False)
344-
345-ztm.begin()
346-query = """
347- SELECT DISTINCT ShippingRequest.id
348- FROM ShippingRequest
349- WHERE ShippingRequest.type IS NULL
350- AND ShippingRequest.id IN (
351- SELECT request FROM RequestedCDs WHERE distrorelease = %s)
352- """ % sqlvalues(ShipItDistroSeries.FEISTY)
353-cur = cursor()
354-cur.execute(query)
355-ids = cur.fetchall()
356-ztm.abort()
357-
358-for [id] in ids:
359- ztm.begin()
360-
361- request = ShippingRequest.get(id)
362- requested_cds = request.getAllRequestedCDs()
363- is_custom = False
364- for flavour in ShipItFlavour.items:
365- if request.containsCustomQuantitiesOfFlavour(flavour):
366- is_custom = True
367- if is_custom:
368- request.type = ShippingRequestType.CUSTOM
369- print "Updated type of request #%d to CUSTOM" % request.id
370- else:
371- request.type = ShippingRequestType.STANDARD
372- print "Updated type of request #%d to STANDARD" % request.id
373-
374- ztm.commit()
375
376=== modified file 'lib/canonical/database/harness.py'
377--- lib/canonical/database/harness.py 2010-10-03 15:30:06 +0000
378+++ lib/canonical/database/harness.py 2010-11-09 13:21:19 +0000
379@@ -33,7 +33,6 @@
380 #
381 # pylint: disable-msg=W0614,W0401
382 from canonical.launchpad.database import *
383-from canonical.launchpad.interfaces import *
384 from lp.bugs.model.bug import Bug
385 from lp.testing.factory import LaunchpadObjectFactory
386 from lp.testing.mail import create_mail_for_directoryMailBox
387
388=== modified file 'lib/canonical/database/sqlbase.py'
389--- lib/canonical/database/sqlbase.py 2010-10-24 12:37:51 +0000
390+++ lib/canonical/database/sqlbase.py 2010-11-09 13:21:19 +0000
391@@ -183,7 +183,7 @@
392 We refetch any parameters from different stores from the
393 correct master Store.
394 """
395- from canonical.launchpad.interfaces import IMasterStore
396+ from canonical.launchpad.interfaces.lpstorm import IMasterStore
397 # Make it simple to write dumb-invalidators - initialised
398 # _cached_properties to a valid list rather than just-in-time creation.
399 self._cached_properties = []
400@@ -219,7 +219,7 @@
401
402 @classmethod
403 def _get_store(cls):
404- from canonical.launchpad.interfaces import IStore
405+ from canonical.launchpad.interfaces.lpstorm import IStore
406 return IStore(cls)
407
408 def __repr__(self):
409@@ -229,7 +229,7 @@
410 return '<%s at 0x%x>' % (self.__class__.__name__, id(self))
411
412 def destroySelf(self):
413- from canonical.launchpad.interfaces import IMasterObject
414+ from canonical.launchpad.interfaces.lpstorm import IMasterObject
415 my_master = IMasterObject(self)
416 if self is my_master:
417 super(SQLBase, self).destroySelf()
418
419=== modified file 'lib/canonical/launchpad/browser/feeds.py'
420--- lib/canonical/launchpad/browser/feeds.py 2010-10-03 15:30:06 +0000
421+++ lib/canonical/launchpad/browser/feeds.py 2010-11-09 13:21:19 +0000
422@@ -29,17 +29,7 @@
423 from zope.security.interfaces import Unauthorized
424
425 from canonical.config import config
426-from canonical.launchpad.interfaces import (
427- IAnnouncementSet,
428- IBugSet,
429- IBugTask,
430- IBugTaskSet,
431- IFeedsApplication,
432- IHasAnnouncements,
433- IHasBugs,
434- ILaunchpadRoot,
435- IPillarNameSet,
436- )
437+from canonical.launchpad.interfaces.launchpad import IFeedsApplication
438 from canonical.launchpad.layers import FeedsLayer
439 from canonical.launchpad.webapp import (
440 canonical_name,
441@@ -47,16 +37,30 @@
442 Navigation,
443 stepto,
444 )
445-from canonical.launchpad.webapp.interfaces import ICanonicalUrlData
446+from canonical.launchpad.webapp.interfaces import (
447+ ICanonicalUrlData,
448+ ILaunchpadRoot,
449+ )
450 from canonical.launchpad.webapp.publisher import RedirectionView
451 from canonical.launchpad.webapp.url import urlappend
452 from canonical.launchpad.webapp.vhosts import allvhosts
453 from lp.app.errors import NotFoundError
454+from lp.bugs.interfaces.bug import IBugSet
455+from lp.bugs.interfaces.bugtarget import IHasBugs
456+from lp.bugs.interfaces.bugtask import (
457+ IBugTask,
458+ IBugTaskSet,
459+ )
460 from lp.code.interfaces.branch import IBranch
461+from lp.registry.interfaces.announcement import (
462+ IAnnouncementSet,
463+ IHasAnnouncements,
464+ )
465 from lp.registry.interfaces.person import (
466 IPerson,
467 IPersonSet,
468 )
469+from lp.registry.interfaces.pillar import IPillarNameSet
470 from lp.registry.interfaces.product import IProduct
471 from lp.registry.interfaces.projectgroup import IProjectGroup
472
473
474=== modified file 'lib/canonical/launchpad/browser/launchpadstatistic.py'
475--- lib/canonical/launchpad/browser/launchpadstatistic.py 2010-10-03 15:30:06 +0000
476+++ lib/canonical/launchpad/browser/launchpadstatistic.py 2010-11-09 13:21:19 +0000
477@@ -10,7 +10,9 @@
478 'LaunchpadStatisticSetFacets',
479 ]
480
481-from canonical.launchpad.interfaces import ILaunchpadStatisticSet
482+from canonical.launchpad.interfaces.launchpadstatistic import (
483+ ILaunchpadStatisticSet,
484+ )
485 from canonical.launchpad.webapp import (
486 LaunchpadView,
487 StandardLaunchpadFacets,
488
489=== modified file 'lib/canonical/launchpad/browser/librarian.py'
490--- lib/canonical/launchpad/browser/librarian.py 2010-10-03 15:30:06 +0000
491+++ lib/canonical/launchpad/browser/librarian.py 2010-11-09 13:21:19 +0000
492@@ -26,7 +26,7 @@
493 from zope.publisher.interfaces.browser import IBrowserPublisher
494 from zope.security.interfaces import Unauthorized
495
496-from canonical.launchpad.interfaces import ILibraryFileAlias
497+from canonical.launchpad.interfaces.librarian import ILibraryFileAlias
498 from canonical.launchpad.layers import WebServiceLayer
499 from canonical.launchpad.webapp.authorization import check_permission
500 from canonical.launchpad.webapp.interfaces import (
501
502=== modified file 'lib/canonical/launchpad/browser/packagerelationship.py'
503--- lib/canonical/launchpad/browser/packagerelationship.py 2010-10-03 15:30:06 +0000
504+++ lib/canonical/launchpad/browser/packagerelationship.py 2010-11-09 13:21:19 +0000
505@@ -13,7 +13,7 @@
506 import operator as std_operator
507 from zope.interface import implements
508
509-from canonical.launchpad.interfaces import (
510+from canonical.launchpad.interfaces.packagerelationship import (
511 IPackageRelationship,
512 IPackageRelationshipSet,
513 )
514
515=== modified file 'lib/canonical/launchpad/components/cdatetime.py'
516--- lib/canonical/launchpad/components/cdatetime.py 2010-10-03 15:30:06 +0000
517+++ lib/canonical/launchpad/components/cdatetime.py 2010-11-09 13:21:19 +0000
518@@ -10,7 +10,7 @@
519 import pytz
520 from zope.interface import implements
521
522-from canonical.launchpad.interfaces import IAging
523+from canonical.launchpad.interfaces.launchpad import IAging
524
525
526 SECONDS_PER_HOUR = 3600
527
528=== modified file 'lib/canonical/launchpad/components/tokens.py'
529--- lib/canonical/launchpad/components/tokens.py 2010-10-03 15:30:06 +0000
530+++ lib/canonical/launchpad/components/tokens.py 2010-11-09 13:21:19 +0000
531@@ -14,7 +14,7 @@
532
533 from zope.component import getUtility
534
535-from canonical.launchpad.interfaces import IMasterStore
536+from canonical.launchpad.interfaces.lpstorm import IMasterStore
537
538
539 def create_token(token_length):
540
541=== modified file 'lib/canonical/launchpad/database/account.py'
542--- lib/canonical/launchpad/database/account.py 2010-10-03 15:30:06 +0000
543+++ lib/canonical/launchpad/database/account.py 2010-11-09 13:21:19 +0000
544@@ -17,14 +17,13 @@
545 from zope.security.proxy import removeSecurityProxy
546
547 from canonical.database.constants import (
548- DEFAULT,
549 UTC_NOW,
550 )
551 from canonical.database.datetimecol import UtcDateTimeCol
552 from canonical.database.enumcol import EnumCol
553 from canonical.database.sqlbase import SQLBase
554 from canonical.launchpad.database.emailaddress import EmailAddress
555-from canonical.launchpad.interfaces import (
556+from canonical.launchpad.interfaces.lpstorm import (
557 IMasterObject,
558 IMasterStore,
559 IStore,
560
561=== modified file 'lib/canonical/launchpad/database/emailaddress.py'
562--- lib/canonical/launchpad/database/emailaddress.py 2010-10-03 15:30:06 +0000
563+++ lib/canonical/launchpad/database/emailaddress.py 2010-11-09 13:21:19 +0000
564@@ -27,7 +27,7 @@
565 SQLBase,
566 sqlvalues,
567 )
568-from canonical.launchpad.interfaces import (
569+from canonical.launchpad.interfaces.emailaddress import (
570 EmailAddressAlreadyTaken,
571 EmailAddressStatus,
572 IEmailAddress,
573
574=== modified file 'lib/canonical/launchpad/database/launchpadstatistic.py'
575--- lib/canonical/launchpad/database/launchpadstatistic.py 2010-10-03 15:30:06 +0000
576+++ lib/canonical/launchpad/database/launchpadstatistic.py 2010-11-09 13:21:19 +0000
577@@ -25,15 +25,15 @@
578 SQLBase,
579 sqlvalues,
580 )
581-from canonical.launchpad.interfaces import (
582+from canonical.launchpad.interfaces.launchpadstatistic import (
583 ILaunchpadStatistic,
584 ILaunchpadStatisticSet,
585- IPersonSet,
586- QuestionStatus,
587 )
588+from lp.answers.interfaces.questionenums import QuestionStatus
589 from lp.answers.model.question import Question
590 from lp.bugs.model.bug import Bug
591 from lp.bugs.model.bugtask import BugTask
592+from lp.registry.interfaces.person import IPersonSet
593 from lp.registry.model.product import Product
594 from lp.services.worlddata.model.language import Language
595 from lp.translations.model.pofile import POFile
596
597=== modified file 'lib/canonical/launchpad/database/librarian.py'
598--- lib/canonical/launchpad/database/librarian.py 2010-10-03 15:30:06 +0000
599+++ lib/canonical/launchpad/database/librarian.py 2010-11-09 13:21:19 +0000
600@@ -57,14 +57,14 @@
601 session_store,
602 SQLBase,
603 )
604-from canonical.launchpad.interfaces import (
605+from canonical.launchpad.interfaces.librarian import (
606 ILibraryFileAlias,
607 ILibraryFileAliasSet,
608 ILibraryFileAliasWithParent,
609 ILibraryFileContent,
610 ILibraryFileDownloadCount,
611- IMasterStore,
612 )
613+from canonical.launchpad.interfaces.lpstorm import IMasterStore
614 from canonical.librarian.interfaces import (
615 DownloadFailed,
616 ILibrarianClient,
617
618=== modified file 'lib/canonical/launchpad/database/logintoken.py'
619--- lib/canonical/launchpad/database/logintoken.py 2010-10-03 15:30:06 +0000
620+++ lib/canonical/launchpad/database/logintoken.py 2010-11-09 13:21:19 +0000
621@@ -31,14 +31,13 @@
622 create_unique_token_for_table,
623 )
624 from canonical.launchpad.helpers import get_email_template
625-from canonical.launchpad.interfaces import (
626- IGPGHandler,
627+from canonical.launchpad.interfaces.emailaddress import IEmailAddressSet
628+from canonical.launchpad.interfaces.gpghandler import IGPGHandler
629+from canonical.launchpad.interfaces.authtoken import LoginTokenType
630+from canonical.launchpad.interfaces.logintoken import (
631 ILoginToken,
632 ILoginTokenSet,
633- IPersonSet,
634- LoginTokenType,
635 )
636-from canonical.launchpad.interfaces.emailaddress import IEmailAddressSet
637 from canonical.launchpad.interfaces.lpstorm import IMasterObject
638 from canonical.launchpad.mail import (
639 format_address,
640@@ -53,6 +52,7 @@
641 )
642 from lp.app.errors import NotFoundError
643 from lp.registry.interfaces.gpg import IGPGKeySet
644+from lp.registry.interfaces.person import IPersonSet
645
646
647 class LoginToken(SQLBase):
648
649=== modified file 'lib/canonical/launchpad/database/message.py'
650--- lib/canonical/launchpad/database/message.py 2010-10-21 16:36:01 +0000
651+++ lib/canonical/launchpad/database/message.py 2010-11-09 13:21:19 +0000
652@@ -63,11 +63,8 @@
653 from canonical.database.sqlbase import SQLBase
654 from canonical.encoding import guess as ensure_unicode
655 from canonical.launchpad.helpers import get_filename_from_message_id
656-from canonical.launchpad.interfaces import (
657+from canonical.launchpad.interfaces.librarian import (
658 ILibraryFileAliasSet,
659- IPersonSet,
660- PersonCreationRationale,
661- UnknownSender,
662 )
663 from canonical.launchpad.interfaces.message import (
664 IDirectEmailAuthorization,
665@@ -77,10 +74,15 @@
666 IMessageSet,
667 InvalidEmailMessage,
668 IUserToUserEmail,
669+ UnknownSender,
670 )
671 from canonical.launchpad.mail import signed_message_from_string
672 from lp.app.errors import NotFoundError
673-from lp.registry.interfaces.person import validate_public_person
674+from lp.registry.interfaces.person import (
675+ IPersonSet,
676+ PersonCreationRationale,
677+ validate_public_person,
678+ )
679 from lp.services.job.model.job import Job
680 from lp.services.propertycache import cachedproperty
681
682
683=== modified file 'lib/canonical/launchpad/database/oauth.py'
684--- lib/canonical/launchpad/database/oauth.py 2010-11-02 17:06:44 +0000
685+++ lib/canonical/launchpad/database/oauth.py 2010-11-09 13:21:19 +0000
686@@ -34,7 +34,7 @@
687 create_token,
688 create_unique_token_for_table,
689 )
690-from canonical.launchpad.interfaces import (
691+from canonical.launchpad.interfaces.oauth import (
692 ClockSkew,
693 IOAuthAccessToken,
694 IOAuthConsumer,
695
696=== modified file 'lib/canonical/launchpad/database/temporaryblobstorage.py'
697--- lib/canonical/launchpad/database/temporaryblobstorage.py 2010-10-03 15:30:06 +0000
698+++ lib/canonical/launchpad/database/temporaryblobstorage.py 2010-11-09 13:21:19 +0000
699@@ -32,12 +32,12 @@
700 from canonical.database.datetimecol import UtcDateTimeCol
701 from canonical.database.sqlbase import SQLBase
702 from canonical.launchpad.database.librarian import LibraryFileAlias
703-from canonical.launchpad.interfaces import (
704+from canonical.launchpad.interfaces.temporaryblobstorage import (
705 BlobTooLarge,
706- ILibraryFileAliasSet,
707 ITemporaryBlobStorage,
708 ITemporaryStorageManager,
709 )
710+from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
711 from canonical.launchpad.interfaces.lpstorm import IStore
712 from lp.services.job.interfaces.job import JobStatus
713
714
715=== modified file 'lib/canonical/launchpad/doc/security.txt'
716--- lib/canonical/launchpad/doc/security.txt 2010-10-03 15:30:06 +0000
717+++ lib/canonical/launchpad/doc/security.txt 2010-11-09 13:21:19 +0000
718@@ -63,7 +63,7 @@
719
720 <adapter
721 provides="canonical.launchpad.webapp.interfaces.IAuthorization"
722- for="canonical.launchpad.interfaces.IProduct"
723+ for="lp.registry.interfaces.product.IProduct"
724 name="launchpad.Edit"
725 factory="canonical.launchpad.security.EditByOwner"
726 />
727
728=== modified file 'lib/canonical/launchpad/doc/validation.txt'
729--- lib/canonical/launchpad/doc/validation.txt 2010-10-18 22:24:59 +0000
730+++ lib/canonical/launchpad/doc/validation.txt 2010-11-09 13:21:19 +0000
731@@ -7,7 +7,7 @@
732 The validate_distrotask() function is used to guarantee that distribution
733 bugtasks are unique per bug.
734
735- >>> from canonical.launchpad.interfaces import validate_distrotask
736+ >>> from canonical.launchpad.interfaces.validation import validate_distrotask
737 >>> from lp.bugs.interfaces.bug import IBugSet
738 >>> from lp.registry.interfaces.distribution import IDistributionSet
739 >>> from lp.registry.interfaces.sourcepackagename import ISourcePackageNameSet
740
741=== modified file 'lib/canonical/launchpad/doc/xmlrpc-selftest.txt'
742--- lib/canonical/launchpad/doc/xmlrpc-selftest.txt 2009-03-24 12:43:49 +0000
743+++ lib/canonical/launchpad/doc/xmlrpc-selftest.txt 2010-11-09 13:21:19 +0000
744@@ -2,7 +2,7 @@
745
746 The Launchpad root object has a simple XMLRPC API to show that XMLRPC works.
747
748- >>> from canonical.launchpad.xmlrpc import SelfTest, ISelfTest
749+ >>> from canonical.launchpad.xmlrpc.application import SelfTest, ISelfTest
750 >>> from canonical.launchpad.webapp.testing import verifyObject
751 >>> selftestview = SelfTest('somecontext', 'somerequest')
752 >>> verifyObject(ISelfTest, selftestview)
753
754=== modified file 'lib/canonical/launchpad/helpers.py'
755--- lib/canonical/launchpad/helpers.py 2010-10-03 15:30:06 +0000
756+++ lib/canonical/launchpad/helpers.py 2010-11-09 13:21:19 +0000
757@@ -25,7 +25,7 @@
758 from zope.security.interfaces import ForbiddenAttribute
759
760 import canonical
761-from canonical.launchpad.interfaces import ILaunchBag
762+from canonical.launchpad.webapp.interfaces import ILaunchBag
763 from lp.services.geoip.interfaces import (
764 IRequestLocalLanguages,
765 IRequestPreferredLanguages,
766
767=== modified file 'lib/canonical/launchpad/interfaces/ftests/validation.txt'
768--- lib/canonical/launchpad/interfaces/ftests/validation.txt 2010-10-21 01:42:14 +0000
769+++ lib/canonical/launchpad/interfaces/ftests/validation.txt 2010-11-09 13:21:19 +0000
770@@ -17,7 +17,8 @@
771 This validator is used to check if the bug in the launchbag can be
772 nominated for the given series.
773
774- >>> from canonical.launchpad.interfaces import can_be_nominated_for_series
775+ >>> from canonical.launchpad.interfaces.validation import (
776+ ... can_be_nominated_for_series)
777
778 If we create a new bug, all the target's series can be nominated.
779
780
781=== modified file 'lib/canonical/launchpad/interfaces/validation.py'
782--- lib/canonical/launchpad/interfaces/validation.py 2010-10-03 15:30:06 +0000
783+++ lib/canonical/launchpad/interfaces/validation.py 2010-11-09 13:21:19 +0000
784@@ -222,8 +222,8 @@
785 """Check that the given email is valid and not registered to
786 another launchpad account.
787 """
788- from canonical.launchpad.webapp import canonical_url
789- from canonical.launchpad.interfaces import IEmailAddressSet
790+ from canonical.launchpad.webapp.publisher import canonical_url
791+ from canonical.launchpad.interfaces.emailaddress import IEmailAddressSet
792
793 _validate_email(email)
794 _check_email_availability(email)
795@@ -239,8 +239,8 @@
796 user that the profile he's trying to create already exists, so there's no
797 need to create another one.
798 """
799- from canonical.launchpad.webapp import canonical_url
800- from canonical.launchpad.interfaces import IPersonSet
801+ from canonical.launchpad.webapp.publisher import canonical_url
802+ from lp.registry.interfaces.person import IPersonSet
803 _validate_email(email)
804 owner = getUtility(IPersonSet).getByEmail(email)
805 if owner is not None:
806
807=== modified file 'lib/canonical/launchpad/mail/commands.py'
808--- lib/canonical/launchpad/mail/commands.py 2010-10-03 15:30:06 +0000
809+++ lib/canonical/launchpad/mail/commands.py 2010-11-09 13:21:19 +0000
810@@ -25,31 +25,16 @@
811 )
812 from zope.schema import ValidationError
813
814-from canonical.launchpad.interfaces import (
815+from canonical.launchpad.interfaces.mail import (
816 BugTargetNotFound,
817- BugTaskImportance,
818- BugTaskStatus,
819- CreateBugParams,
820 EmailProcessingError,
821- IBug,
822 IBugEditEmailCommand,
823 IBugEmailCommand,
824- IBugSet,
825 IBugTaskEditEmailCommand,
826 IBugTaskEmailCommand,
827- ICveSet,
828- IDistribution,
829- IDistributionSourcePackage,
830- IDistroBugTask,
831- IDistroSeries,
832- ILaunchBag,
833- IMessageSet,
834- IPillarNameSet,
835- IProduct,
836- IProductSeries,
837- IProjectGroup,
838- ISourcePackage,
839 )
840+from canonical.launchpad.interfaces.message import IMessageSet
841+from canonical.launchpad.webapp.interfaces import ILaunchBag
842 from canonical.launchpad.mail.helpers import (
843 get_error_message,
844 get_person_or_team,
845@@ -60,6 +45,27 @@
846 NotFoundError,
847 UserCannotUnsubscribePerson,
848 )
849+from lp.bugs.interfaces.bug import (
850+ CreateBugParams,
851+ IBug,
852+ IBugSet,
853+ )
854+from lp.bugs.interfaces.bugtask import (
855+ BugTaskImportance,
856+ BugTaskStatus,
857+ IDistroBugTask,
858+ )
859+from lp.bugs.interfaces.cve import ICveSet
860+from lp.registry.interfaces.distribution import IDistribution
861+from lp.registry.interfaces.distributionsourcepackage import (
862+ IDistributionSourcePackage,
863+ )
864+from lp.registry.interfaces.distroseries import IDistroSeries
865+from lp.registry.interfaces.pillar import IPillarNameSet
866+from lp.registry.interfaces.product import IProduct
867+from lp.registry.interfaces.productseries import IProductSeries
868+from lp.registry.interfaces.projectgroup import IProjectGroup
869+from lp.registry.interfaces.sourcepackage import ISourcePackage
870
871
872 def normalize_arguments(string_args):
873
874=== modified file 'lib/canonical/launchpad/mail/handlers.py'
875--- lib/canonical/launchpad/mail/handlers.py 2010-10-11 18:29:14 +0000
876+++ lib/canonical/launchpad/mail/handlers.py 2010-11-09 13:21:19 +0000
877@@ -15,24 +15,16 @@
878 from canonical.config import config
879 from canonical.database.sqlbase import rollback
880 from canonical.launchpad.helpers import get_email_template
881-from canonical.launchpad.interfaces import (
882- BugAttachmentType,
883- CreatedBugWithNoBugTasksError,
884+from canonical.launchpad.interfaces.gpghandler import IGPGHandler
885+from canonical.launchpad.interfaces.mail import (
886 EmailProcessingError,
887- IBugAttachmentSet,
888 IBugEditEmailCommand,
889 IBugEmailCommand,
890- IBugMessageSet,
891 IBugTaskEditEmailCommand,
892 IBugTaskEmailCommand,
893- ILaunchBag,
894 IMailHandler,
895- IMessageSet,
896- IQuestionSet,
897- ISpecificationSet,
898- QuestionStatus,
899 )
900-from canonical.launchpad.interfaces.gpghandler import IGPGHandler
901+from canonical.launchpad.interfaces.message import IMessageSet
902 from canonical.launchpad.mail.commands import (
903 BugEmailCommands,
904 get_error_message,
905@@ -52,6 +44,16 @@
906 send_process_error_notification,
907 )
908 from canonical.launchpad.webapp import urlparse
909+from canonical.launchpad.webapp.interfaces import ILaunchBag
910+from lp.answers.interfaces.questioncollection import IQuestionSet
911+from lp.answers.interfaces.questionenums import QuestionStatus
912+from lp.blueprints.interfaces.specification import ISpecificationSet
913+from lp.bugs.interfaces.bug import CreatedBugWithNoBugTasksError
914+from lp.bugs.interfaces.bugattachment import (
915+ BugAttachmentType,
916+ IBugAttachmentSet,
917+ )
918+from lp.bugs.interfaces.bugmessage import IBugMessageSet
919 from lp.code.mail.codehandler import CodeHandler
920 from lp.services.mail.sendmail import (
921 sendmail,
922
923=== modified file 'lib/canonical/launchpad/mail/helpers.py'
924--- lib/canonical/launchpad/mail/helpers.py 2010-10-03 15:30:06 +0000
925+++ lib/canonical/launchpad/mail/helpers.py 2010-11-09 13:21:19 +0000
926@@ -9,7 +9,7 @@
927
928 from zope.component import getUtility
929
930-from canonical.launchpad.interfaces import (
931+from lp.bugs.interfaces.bugtask import (
932 IDistroBugTask,
933 IDistroSeriesBugTask,
934 IUpstreamBugTask,
935@@ -51,7 +51,7 @@
936 def get_bugtask_type(bugtask):
937 """Returns the specific IBugTask interface the bugtask provides.
938
939- >>> from canonical.launchpad.interfaces import (
940+ >>> from lp.bugs.interfaces.bugtask import (
941 ... IUpstreamBugTask, IDistroBugTask, IDistroSeriesBugTask)
942 >>> from zope.interface import classImplementsOnly
943 >>> class BugTask:
944
945=== modified file 'lib/canonical/launchpad/mail/meta.py'
946--- lib/canonical/launchpad/mail/meta.py 2010-10-03 15:30:06 +0000
947+++ lib/canonical/launchpad/mail/meta.py 2010-11-09 13:21:19 +0000
948@@ -15,7 +15,7 @@
949 from zope.sendmail.interfaces import IMailer
950 from zope.sendmail.zcml import IMailerDirective
951
952-from canonical.launchpad.interfaces import IMailBox
953+from canonical.launchpad.interfaces.mailbox import IMailBox
954 from lp.services.mail.mailbox import (
955 DirectoryMailBox,
956 POP3MailBox,
957
958=== modified file 'lib/canonical/launchpad/mailnotification.py'
959--- lib/canonical/launchpad/mailnotification.py 2010-10-19 22:06:16 +0000
960+++ lib/canonical/launchpad/mailnotification.py 2010-11-09 13:21:19 +0000
961@@ -30,14 +30,6 @@
962 get_contact_email_addresses,
963 get_email_template,
964 )
965-from canonical.launchpad.interfaces import (
966- IHeldMessageDetails,
967- IPerson,
968- IPersonSet,
969- ISpecification,
970- ITeamMembershipSet,
971- TeamMembershipStatus,
972- )
973 from canonical.launchpad.interfaces.launchpad import ILaunchpadRoot
974 from canonical.launchpad.interfaces.message import (
975 IDirectEmailAuthorization,
976@@ -51,7 +43,17 @@
977 )
978 from canonical.launchpad.webapp.publisher import canonical_url
979 from canonical.launchpad.webapp.url import urlappend
980+from lp.blueprints.interfaces.specification import ISpecification
981 from lp.bugs.mail.bugnotificationbuilder import get_bugmail_error_address
982+from lp.registry.interfaces.mailinglist import IHeldMessageDetails
983+from lp.registry.interfaces.person import (
984+ IPerson,
985+ IPersonSet,
986+ )
987+from lp.registry.interfaces.teammembership import (
988+ ITeamMembershipSet,
989+ TeamMembershipStatus,
990+ )
991 from lp.services.mail.mailwrapper import MailWrapper
992 # XXX 2010-06-16 gmb bug=594985
993 # This shouldn't be here, but if we take it out lots of things cry,
994
995=== modified file 'lib/canonical/launchpad/pagetitles.py'
996--- lib/canonical/launchpad/pagetitles.py 2010-10-06 01:27:34 +0000
997+++ lib/canonical/launchpad/pagetitles.py 2010-11-09 13:21:19 +0000
998@@ -45,11 +45,9 @@
999
1000 from zope.component import getUtility
1001
1002-from canonical.launchpad.interfaces import (
1003- ILaunchBag,
1004- IMaloneApplication,
1005- )
1006+from canonical.launchpad.webapp.interfaces import ILaunchBag
1007 from canonical.lazr.utils import smartquote
1008+from lp.bugs.interfaces.malone import IMaloneApplication
1009
1010
1011 DEFAULT_LAUNCHPAD_TITLE = 'Launchpad'
1012
1013=== modified file 'lib/canonical/launchpad/rest/__init__.py'
1014--- lib/canonical/launchpad/rest/__init__.py 2010-08-20 20:31:18 +0000
1015+++ lib/canonical/launchpad/rest/__init__.py 2010-11-09 13:21:19 +0000
1016@@ -5,6 +5,9 @@
1017
1018 """Code for Launchpad's RESTful web services."""
1019
1020+# XXX: JonathanLange 2010-11-08 bug=672600: Should not re-export from
1021+# here. Instead, import sites should import directly from modules.
1022+
1023 from canonical.launchpad.rest.bytestorage import *
1024 from canonical.launchpad.rest.me import *
1025 from canonical.launchpad.rest.pillarset import *
1026
1027=== modified file 'lib/canonical/launchpad/rest/me.py'
1028--- lib/canonical/launchpad/rest/me.py 2010-10-03 15:30:06 +0000
1029+++ lib/canonical/launchpad/rest/me.py 2010-11-09 13:21:19 +0000
1030@@ -16,7 +16,7 @@
1031 from zope.component import getUtility
1032 from zope.interface import implements
1033
1034-from canonical.launchpad.interfaces import (
1035+from lp.registry.interfaces.person import (
1036 IPerson,
1037 IPersonSet,
1038 )
1039
1040=== modified file 'lib/canonical/launchpad/rest/pillarset.py'
1041--- lib/canonical/launchpad/rest/pillarset.py 2010-10-03 15:30:06 +0000
1042+++ lib/canonical/launchpad/rest/pillarset.py 2010-11-09 13:21:19 +0000
1043@@ -1,4 +1,4 @@
1044-# Copyright 2009 Canonical Ltd. This software is licensed under the
1045+# Copyright 2009-2010 Canonical Ltd. This software is licensed under the
1046 # GNU Affero General Public License version 3 (see the file LICENSE).
1047
1048 """A class for the top-level link to the pillar set."""
1049@@ -12,7 +12,7 @@
1050 from lazr.restful.interfaces import ITopLevelEntryLink
1051 from zope.interface import implements
1052
1053-from canonical.launchpad.interfaces import IPillarNameSet
1054+from lp.registry.interfaces.pillar import IPillarNameSet
1055 from canonical.launchpad.webapp.interfaces import ICanonicalUrlData
1056
1057
1058
1059=== modified file 'lib/canonical/launchpad/subscribers/karma.py'
1060--- lib/canonical/launchpad/subscribers/karma.py 2010-10-03 15:30:06 +0000
1061+++ lib/canonical/launchpad/subscribers/karma.py 2010-11-09 13:21:19 +0000
1062@@ -5,7 +5,7 @@
1063 application."""
1064
1065 from canonical.database.sqlbase import block_implicit_flushes
1066-from canonical.launchpad.interfaces import BugTaskStatus
1067+from lp.bugs.interfaces.bugtask import BugTaskStatus
1068 from lp.bugs.subscribers.bug import get_bug_delta
1069 from lp.code.enums import BranchMergeProposalStatus
1070 from lp.registry.interfaces.person import IPerson
1071
1072=== modified file 'lib/canonical/launchpad/systemhomes.py'
1073--- lib/canonical/launchpad/systemhomes.py 2010-10-03 15:30:06 +0000
1074+++ lib/canonical/launchpad/systemhomes.py 2010-11-09 13:21:19 +0000
1075@@ -26,40 +26,40 @@
1076 from zope.interface import implements
1077
1078 from canonical.config import config
1079-from canonical.launchpad.interfaces import (
1080- BugTaskSearchParams,
1081+from canonical.launchpad.interfaces.launchpad import (
1082 IAuthServerApplication,
1083 IBazaarApplication,
1084- IBugTaskSet,
1085- IBugTrackerSet,
1086- IBugWatchSet,
1087- IDistroSeriesSet,
1088 IFeedsApplication,
1089- IHWDBApplication,
1090- ILanguageSet,
1091- ILaunchBag,
1092- ILaunchpadStatisticSet,
1093- IMailingListApplication,
1094- IMaloneApplication,
1095 IPrivateMaloneApplication,
1096- IProductSet,
1097 IRosettaApplication,
1098 IWebServiceApplication,
1099 )
1100 from canonical.launchpad.webapp.interfaces import (
1101 IAPIDocRoot,
1102 ICanonicalUrlData,
1103+ ILaunchBag,
1104+ )
1105+from canonical.launchpad.interfaces.launchpadstatistic import (
1106+ ILaunchpadStatisticSet,
1107 )
1108 from lp.bugs.interfaces.bug import (
1109 CreateBugParams,
1110 IBugSet,
1111 InvalidBugTargetType,
1112 )
1113+from lp.bugs.interfaces.bugtask import (
1114+ BugTaskSearchParams,
1115+ IBugTaskSet,
1116+ )
1117+from lp.bugs.interfaces.bugtracker import IBugTrackerSet
1118+from lp.bugs.interfaces.bugwatch import IBugWatchSet
1119+from lp.bugs.interfaces.malone import IMaloneApplication
1120 from lp.code.interfaces.codehosting import ICodehostingApplication
1121 from lp.code.interfaces.codeimportscheduler import (
1122 ICodeImportSchedulerApplication,
1123 )
1124 from lp.hardwaredb.interfaces.hwdb import (
1125+ IHWDBApplication,
1126 IHWDeviceSet,
1127 IHWDriverSet,
1128 IHWSubmissionDeviceSet,
1129@@ -71,7 +71,13 @@
1130 from lp.registry.interfaces.distributionsourcepackage import (
1131 IDistributionSourcePackage,
1132 )
1133-from lp.registry.interfaces.product import IProduct
1134+from lp.registry.interfaces.distroseries import IDistroSeriesSet
1135+from lp.registry.interfaces.product import (
1136+ IProduct,
1137+ IProductSet,
1138+ )
1139+from lp.registry.interfaces.mailinglist import IMailingListApplication
1140+from lp.services.worlddata.interfaces.language import ILanguageSet
1141 from lp.testopenid.interfaces.server import ITestOpenIDApplication
1142 from lp.translations.interfaces.translationgroup import ITranslationGroupSet
1143 from lp.translations.interfaces.translationsoverview import (
1144
1145=== modified file 'lib/canonical/launchpad/testing/fakepackager.py'
1146--- lib/canonical/launchpad/testing/fakepackager.py 2010-10-03 15:30:06 +0000
1147+++ lib/canonical/launchpad/testing/fakepackager.py 2010-11-09 13:21:19 +0000
1148@@ -21,13 +21,11 @@
1149 from zope.component import getUtility
1150
1151 from canonical.launchpad.ftests.keys_for_tests import import_secret_test_key
1152-from canonical.launchpad.interfaces import (
1153- IDistributionSet,
1154- IGPGHandler,
1155- )
1156+from canonical.launchpad.interfaces.gpghandler import IGPGHandler
1157 from canonical.launchpad.scripts import QuietFakeLogger
1158 from lp.archiveuploader.nascentupload import NascentUpload
1159 from lp.archiveuploader.uploadpolicy import findPolicyByName
1160+from lp.registry.interfaces.distribution import IDistributionSet
1161 from lp.soyuz.enums import PackageUploadStatus
1162
1163
1164
1165=== modified file 'lib/canonical/launchpad/testing/pages.py'
1166--- lib/canonical/launchpad/testing/pages.py 2010-10-26 15:48:33 +0000
1167+++ lib/canonical/launchpad/testing/pages.py 2010-11-09 13:21:19 +0000
1168@@ -45,11 +45,10 @@
1169 from zope.security.proxy import removeSecurityProxy
1170 from zope.testbrowser.testing import Browser
1171
1172-from canonical.launchpad.interfaces import (
1173- ILaunchpadCelebrities,
1174+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
1175+from canonical.launchpad.interfaces.oauth import (
1176 IOAuthConsumerSet,
1177 OAUTH_REALM,
1178- TeamMembershipStatus,
1179 )
1180 from canonical.launchpad.testing.systemdocs import (
1181 LayeredDocFileSuite,
1182@@ -62,6 +61,7 @@
1183 from canonical.launchpad.webapp.url import urlsplit
1184 from canonical.testing.layers import PageTestLayer
1185 from lp.registry.errors import NameAlreadyTaken
1186+from lp.registry.interfaces.teammembership import TeamMembershipStatus
1187 from lp.testing import (
1188 ANONYMOUS,
1189 launchpadlib_for,
1190
1191=== modified file 'lib/canonical/launchpad/testing/systemdocs.py'
1192--- lib/canonical/launchpad/testing/systemdocs.py 2010-10-26 15:48:33 +0000
1193+++ lib/canonical/launchpad/testing/systemdocs.py 2010-11-09 13:21:19 +0000
1194@@ -29,7 +29,7 @@
1195 from canonical.chunkydiff import elided_source
1196 from canonical.config import config
1197 from canonical.database.sqlbase import flush_database_updates
1198-from canonical.launchpad.interfaces import ILaunchBag
1199+from canonical.launchpad.interfaces.launchpad import ILaunchBag
1200 from canonical.launchpad.webapp.testing import verifyObject
1201 from canonical.testing import reset_logging
1202 from lp.testing import (
1203
1204=== modified file 'lib/canonical/launchpad/utilities/celebrities.py'
1205--- lib/canonical/launchpad/utilities/celebrities.py 2010-10-03 15:30:06 +0000
1206+++ lib/canonical/launchpad/utilities/celebrities.py 2010-11-09 13:21:19 +0000
1207@@ -9,16 +9,14 @@
1208 from zope.component import getUtility
1209 from zope.interface import implements
1210
1211-from canonical.launchpad.interfaces import (
1212- IBugTrackerSet,
1213- IDistributionMirrorSet,
1214- IDistributionSet,
1215- ILanguageSet,
1216- ILaunchpadCelebrities,
1217- IPersonSet,
1218- IProductSet,
1219- )
1220+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
1221 from lp.app.errors import NotFoundError
1222+from lp.bugs.interfaces.bugtracker import IBugTrackerSet
1223+from lp.registry.interfaces.distribution import IDistributionSet
1224+from lp.registry.interfaces.distributionmirror import IDistributionMirrorSet
1225+from lp.registry.interfaces.person import IPersonSet
1226+from lp.registry.interfaces.product import IProductSet
1227+from lp.services.worlddata.interfaces.language import ILanguageSet
1228
1229
1230 class MutatedCelebrityError(Exception):
1231
1232=== modified file 'lib/canonical/launchpad/utilities/personroles.py'
1233--- lib/canonical/launchpad/utilities/personroles.py 2010-10-03 15:30:06 +0000
1234+++ lib/canonical/launchpad/utilities/personroles.py 2010-11-09 13:21:19 +0000
1235@@ -12,7 +12,7 @@
1236 )
1237 from zope.interface import implements
1238
1239-from canonical.launchpad.interfaces import (
1240+from canonical.launchpad.interfaces.launchpad import (
1241 IHasDrivers,
1242 ILaunchpadCelebrities,
1243 IPersonRoles,
1244
1245=== modified file 'lib/canonical/launchpad/webapp/adapter.py'
1246--- lib/canonical/launchpad/webapp/adapter.py 2010-10-20 04:25:48 +0000
1247+++ lib/canonical/launchpad/webapp/adapter.py 2010-11-09 13:21:19 +0000
1248@@ -49,7 +49,7 @@
1249 DatabaseConfig,
1250 )
1251 from canonical.database.interfaces import IRequestExpired
1252-from canonical.launchpad.interfaces import (
1253+from canonical.launchpad.interfaces.lpstorm import (
1254 IMasterObject,
1255 IMasterStore,
1256 )
1257
1258=== modified file 'lib/canonical/launchpad/webapp/dbpolicy.py'
1259--- lib/canonical/launchpad/webapp/dbpolicy.py 2010-10-03 15:30:06 +0000
1260+++ lib/canonical/launchpad/webapp/dbpolicy.py 2010-11-09 13:21:19 +0000
1261@@ -25,7 +25,6 @@
1262 Cache,
1263 GenerationalCache,
1264 )
1265-from storm.exceptions import TimeoutError
1266 from storm.zope.interfaces import IZStorm
1267 from zope.app.security.interfaces import IUnauthenticatedPrincipal
1268 from zope.component import getUtility
1269@@ -43,7 +42,7 @@
1270 dbconfig,
1271 )
1272 from canonical.database.sqlbase import StupidCache
1273-from canonical.launchpad.interfaces import (
1274+from canonical.launchpad.interfaces.lpstorm import (
1275 IMasterStore,
1276 ISlaveStore,
1277 )
1278
1279=== modified file 'lib/canonical/launchpad/webapp/launchbag.py'
1280--- lib/canonical/launchpad/webapp/launchbag.py 2010-10-03 15:30:06 +0000
1281+++ lib/canonical/launchpad/webapp/launchbag.py 2010-11-09 13:21:19 +0000
1282@@ -14,26 +14,24 @@
1283 from zope.interface import implements
1284
1285 from canonical.database.sqlbase import block_implicit_flushes
1286-from canonical.launchpad.interfaces import (
1287- IAccount,
1288- IBug,
1289- IBugTask,
1290- IDistribution,
1291- IDistroArchSeries,
1292- IDistroSeries,
1293- ILaunchpadCelebrities,
1294- IPerson,
1295- IProduct,
1296- IProjectGroup,
1297- ISourcePackage,
1298- ISpecification,
1299- )
1300+from canonical.launchpad.interfaces.account import IAccount
1301+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
1302 from canonical.launchpad.webapp.interaction import get_current_principal
1303 from canonical.launchpad.webapp.interfaces import (
1304 ILaunchBag,
1305 ILoggedInEvent,
1306 IOpenLaunchBag,
1307 )
1308+from lp.blueprints.interfaces.specification import ISpecification
1309+from lp.bugs.interfaces.bug import IBug
1310+from lp.bugs.interfaces.bugtask import IBugTask
1311+from lp.registry.interfaces.distribution import IDistribution
1312+from lp.registry.interfaces.distroseries import IDistroSeries
1313+from lp.registry.interfaces.person import IPerson
1314+from lp.registry.interfaces.product import IProduct
1315+from lp.registry.interfaces.projectgroup import IProjectGroup
1316+from lp.registry.interfaces.sourcepackage import ISourcePackage
1317+from lp.soyuz.interfaces.distroarchseries import IDistroArchSeries
1318
1319
1320 _utc_tz = pytz.timezone('UTC')
1321
1322=== modified file 'lib/canonical/launchpad/xmlrpc/__init__.py'
1323--- lib/canonical/launchpad/xmlrpc/__init__.py 2010-09-18 00:08:27 +0000
1324+++ lib/canonical/launchpad/xmlrpc/__init__.py 2010-11-09 13:21:19 +0000
1325@@ -5,10 +5,4 @@
1326
1327 """XMLRPC views and APIs on Launchpad objects."""
1328
1329-from canonical.launchpad.xmlrpc.application import *
1330-from canonical.launchpad.xmlrpc.authserver import *
1331-from lp.bugs.xmlrpc.bug import *
1332-from lp.code.xmlrpc.branch import *
1333-from lp.code.xmlrpc.codeimportscheduler import *
1334-
1335
1336
1337=== modified file 'lib/canonical/launchpad/xmlrpc/application.py'
1338--- lib/canonical/launchpad/xmlrpc/application.py 2010-10-03 15:30:06 +0000
1339+++ lib/canonical/launchpad/xmlrpc/application.py 2010-11-09 13:21:19 +0000
1340@@ -23,18 +23,18 @@
1341 Interface,
1342 )
1343
1344-from canonical.launchpad.interfaces import (
1345+from canonical.launchpad.interfaces.launchpad import (
1346 IAuthServerApplication,
1347- ILaunchBag,
1348- IMailingListApplication,
1349 IPrivateApplication,
1350 IPrivateMaloneApplication,
1351 )
1352 from canonical.launchpad.webapp import LaunchpadXMLRPCView
1353+from canonical.launchpad.webapp.interfaces import ILaunchBag
1354 from lp.code.interfaces.codehosting import ICodehostingApplication
1355 from lp.code.interfaces.codeimportscheduler import (
1356 ICodeImportSchedulerApplication,
1357 )
1358+from lp.registry.interfaces.mailinglist import IMailingListApplication
1359 from lp.registry.interfaces.person import ISoftwareCenterAgentApplication
1360
1361
1362
1363=== modified file 'lib/canonical/launchpad/xmlrpc/authserver.py'
1364--- lib/canonical/launchpad/xmlrpc/authserver.py 2010-10-03 15:30:06 +0000
1365+++ lib/canonical/launchpad/xmlrpc/authserver.py 2010-11-09 13:21:19 +0000
1366@@ -12,12 +12,10 @@
1367 from zope.component import getUtility
1368 from zope.interface import implements
1369
1370-from canonical.launchpad.interfaces import (
1371- IAuthServer,
1372- IPersonSet,
1373- )
1374+from canonical.launchpad.interfaces.authserver import IAuthServer
1375 from canonical.launchpad.webapp import LaunchpadXMLRPCView
1376 from canonical.launchpad.xmlrpc import faults
1377+from lp.registry.interfaces.person import IPersonSet
1378
1379
1380 class AuthServerAPIView(LaunchpadXMLRPCView):
1381
1382=== modified file 'lib/canonical/launchpad/xmlrpc/configure.zcml'
1383--- lib/canonical/launchpad/xmlrpc/configure.zcml 2010-10-03 15:30:06 +0000
1384+++ lib/canonical/launchpad/xmlrpc/configure.zcml 2010-11-09 13:21:19 +0000
1385@@ -9,7 +9,7 @@
1386 >
1387
1388 <securedutility
1389- class="canonical.launchpad.xmlrpc.PrivateApplication"
1390+ class="canonical.launchpad.xmlrpc.application.PrivateApplication"
1391 provides="canonical.launchpad.interfaces.launchpad.IPrivateApplication">
1392 <allow interface="canonical.launchpad.interfaces.launchpad.IPrivateApplication"/>
1393 </securedutility>
1394@@ -23,7 +23,7 @@
1395 <xmlrpc:view
1396 for="canonical.launchpad.interfaces.launchpad.IAuthServerApplication"
1397 interface="canonical.launchpad.interfaces.authserver.IAuthServer"
1398- class="canonical.launchpad.xmlrpc.AuthServerAPIView"
1399+ class="canonical.launchpad.xmlrpc.authserver.AuthServerAPIView"
1400 permission="zope.Public"
1401 />
1402
1403@@ -49,7 +49,7 @@
1404 <xmlrpc:view
1405 for="lp.code.interfaces.codeimportscheduler.ICodeImportSchedulerApplication"
1406 interface="lp.code.interfaces.codeimportscheduler.ICodeImportScheduler"
1407- class="canonical.launchpad.xmlrpc.CodeImportSchedulerAPI"
1408+ class="lp.code.xmlrpc.codeimportscheduler.CodeImportSchedulerAPI"
1409 permission="zope.Public"
1410 />
1411
1412@@ -62,7 +62,7 @@
1413 <xmlrpc:view
1414 for="canonical.launchpad.interfaces.launchpad.IPrivateMaloneApplication"
1415 interface="lp.bugs.interfaces.externalbugtracker.IExternalBugTrackerTokenAPI"
1416- class="canonical.launchpad.xmlrpc.ExternalBugTrackerTokenAPI"
1417+ class="lp.bugs.xmlrpc.bug.ExternalBugTrackerTokenAPI"
1418 permission="zope.Public"
1419 />
1420
1421
1422=== modified file 'lib/canonical/launchpad/zcml/launchpad.zcml'
1423--- lib/canonical/launchpad/zcml/launchpad.zcml 2010-10-03 15:30:06 +0000
1424+++ lib/canonical/launchpad/zcml/launchpad.zcml 2010-11-09 13:21:19 +0000
1425@@ -367,14 +367,14 @@
1426 <!-- self-test xmlrpc api -->
1427 <xmlrpc:view
1428 for="canonical.launchpad.webapp.interfaces.ILaunchpadRoot"
1429- interface="canonical.launchpad.xmlrpc.ISelfTest"
1430- class="canonical.launchpad.xmlrpc.SelfTest"
1431+ interface="canonical.launchpad.xmlrpc.application.ISelfTest"
1432+ class="canonical.launchpad.xmlrpc.application.SelfTest"
1433 permission="zope.Public"
1434 />
1435 <xmlrpc:view
1436 for="canonical.launchpad.interfaces.launchpad.IRosettaApplication"
1437- interface="canonical.launchpad.xmlrpc.IRosettaSelfTest"
1438- class="canonical.launchpad.xmlrpc.RosettaSelfTest"
1439+ interface="canonical.launchpad.xmlrpc.application.IRosettaSelfTest"
1440+ class="canonical.launchpad.xmlrpc.application.RosettaSelfTest"
1441 permission="zope.Public"
1442 />
1443
1444
1445=== modified file 'lib/canonical/lazr/feed/feed.py'
1446--- lib/canonical/lazr/feed/feed.py 2010-10-03 15:30:06 +0000
1447+++ lib/canonical/lazr/feed/feed.py 2010-11-09 13:21:19 +0000
1448@@ -35,7 +35,7 @@
1449 # XXX: bac 2007-09-20 bug=153795: modules in canonical.lazr should not import
1450 # from canonical.launchpad, but we're doing it here as an expediency to get a
1451 # working prototype.
1452-from canonical.launchpad.interfaces import ILaunchpadRoot
1453+from canonical.launchpad.webapp.interfaces import ILaunchpadRoot
1454 from canonical.launchpad.webapp import (
1455 canonical_url,
1456 LaunchpadView,
1457
1458=== modified file 'lib/canonical/testing/layers.py'
1459--- lib/canonical/testing/layers.py 2010-11-08 05:22:26 +0000
1460+++ lib/canonical/testing/layers.py 2010-11-09 13:21:19 +0000
1461@@ -108,7 +108,8 @@
1462 session_store,
1463 ZopelessTransactionManager,
1464 )
1465-from canonical.launchpad.interfaces import IMailBox, IOpenLaunchBag
1466+from canonical.launchpad.interfaces.mailbox import IMailBox
1467+from canonical.launchpad.webapp.interfaces import IOpenLaunchBag
1468 from lp.testing import ANONYMOUS, login, logout, is_logged_in
1469 import lp.services.mail.stub
1470 from lp.services.mail.mailbox import TestMailBox
1471
1472=== modified file 'lib/canonical/widgets/announcementdate.py'
1473--- lib/canonical/widgets/announcementdate.py 2010-10-03 15:30:06 +0000
1474+++ lib/canonical/widgets/announcementdate.py 2010-11-09 13:21:19 +0000
1475@@ -16,11 +16,11 @@
1476 from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
1477
1478 from canonical.launchpad.webapp.interfaces import IAlwaysSubmittedWidget
1479-from canonical.launchpad.interfaces import IAnnouncement
1480 from canonical.launchpad.validators import LaunchpadValidationError
1481 from canonical.widgets.itemswidgets import LaunchpadRadioWidget
1482 from canonical.widgets.date import DateTimeWidget
1483 from canonical.launchpad import _
1484+from lp.registry.interfaces.announcement import IAnnouncement
1485
1486
1487 class IAnnouncementDateWidget(ISimpleInputWidget):
1488
1489=== modified file 'lib/canonical/widgets/branch.py'
1490--- lib/canonical/widgets/branch.py 2010-10-03 15:30:06 +0000
1491+++ lib/canonical/widgets/branch.py 2010-11-09 13:21:19 +0000
1492@@ -15,7 +15,7 @@
1493 from zope.component import getMultiAdapter, getUtility
1494 from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
1495
1496-from canonical.launchpad.interfaces import ILaunchBag
1497+from canonical.launchpad.webapp.interfaces import ILaunchBag
1498 from canonical.launchpad.webapp import canonical_url
1499 from canonical.widgets.itemswidgets import LaunchpadRadioWidget
1500
1501
1502=== modified file 'lib/canonical/widgets/bugtask.py'
1503--- lib/canonical/widgets/bugtask.py 2010-10-03 15:30:06 +0000
1504+++ lib/canonical/widgets/bugtask.py 2010-11-09 13:21:19 +0000
1505@@ -22,16 +22,20 @@
1506
1507 from canonical.launchpad import _
1508 from lp.services.fields import URIField
1509-from canonical.launchpad.interfaces import (
1510- IBugWatchSet, IDistributionSet, ILaunchBag, NoBugTrackerFound,
1511- UnrecognizedBugTrackerURL)
1512 from canonical.launchpad.webapp import canonical_url
1513+from canonical.launchpad.webapp.interfaces import ILaunchBag
1514 from lp.app.browser.tales import TeamFormatterAPI
1515 from canonical.widgets.helpers import get_widget_template
1516 from canonical.widgets.itemswidgets import LaunchpadRadioWidget
1517 from canonical.widgets.popup import VocabularyPickerWidget
1518 from canonical.widgets.textwidgets import StrippedTextWidget, URIWidget
1519 from lp.app.errors import NotFoundError, UnexpectedFormData
1520+from lp.bugs.interfaces.bugwatch import (
1521+ IBugWatchSet,
1522+ NoBugTrackerFound,
1523+ UnrecognizedBugTrackerURL,
1524+ )
1525+from lp.registry.interfaces.distribution import IDistributionSet
1526
1527
1528 class BugTaskAssigneeWidget(Widget):
1529
1530=== modified file 'lib/canonical/widgets/date.py'
1531--- lib/canonical/widgets/date.py 2010-10-03 15:30:06 +0000
1532+++ lib/canonical/widgets/date.py 2010-11-09 13:21:19 +0000
1533@@ -31,7 +31,7 @@
1534
1535 from z3c.ptcompat import ViewPageTemplateFile
1536
1537-from canonical.launchpad.interfaces import ILaunchBag
1538+from canonical.launchpad.webapp.interfaces import ILaunchBag
1539 from canonical.launchpad.validators import LaunchpadValidationError
1540
1541
1542
1543=== modified file 'lib/canonical/widgets/launchpadtarget.py'
1544--- lib/canonical/widgets/launchpadtarget.py 2010-10-03 15:30:06 +0000
1545+++ lib/canonical/widgets/launchpadtarget.py 2010-11-09 13:21:19 +0000
1546@@ -14,14 +14,17 @@
1547
1548 from z3c.ptcompat import ViewPageTemplateFile
1549
1550-from canonical.launchpad.interfaces import (
1551- IDistribution, IDistributionSourcePackage, ILaunchpadCelebrities,
1552- IProduct)
1553+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
1554 from canonical.launchpad.validators import LaunchpadValidationError
1555 from canonical.launchpad.webapp.interfaces import (
1556 IMultiLineWidgetLayout, IAlwaysSubmittedWidget)
1557 from canonical.widgets.itemswidgets import LaunchpadDropdownWidget
1558 from lp.app.errors import NotFoundError, UnexpectedFormData
1559+from lp.registry.interfaces.distribution import IDistribution
1560+from lp.registry.interfaces.distributionsourcepackage import (
1561+ IDistributionSourcePackage,
1562+ )
1563+from lp.registry.interfaces.product import IProduct
1564
1565
1566 class LaunchpadTargetWidget(BrowserWidget, InputWidget):
1567
1568=== modified file 'lib/canonical/widgets/owner.py'
1569--- lib/canonical/widgets/owner.py 2010-10-03 15:30:06 +0000
1570+++ lib/canonical/widgets/owner.py 2010-11-09 13:21:19 +0000
1571@@ -8,7 +8,7 @@
1572 from zope.app.form.interfaces import IInputWidget
1573 from zope.app.form.browser.interfaces import IBrowserWidget
1574
1575-from canonical.launchpad.interfaces import ILaunchBag
1576+from canonical.launchpad.webapp.interfaces import ILaunchBag
1577
1578 class RequestWidget(object):
1579 '''A widget that sets itself to a value calculated from request
1580
1581=== modified file 'lib/canonical/widgets/password.py'
1582--- lib/canonical/widgets/password.py 2010-10-03 15:30:06 +0000
1583+++ lib/canonical/widgets/password.py 2010-11-09 13:21:19 +0000
1584@@ -19,7 +19,7 @@
1585 from z3c.ptcompat import ViewPageTemplateFile
1586
1587 from canonical.launchpad import _
1588-from canonical.launchpad.interfaces import IPasswordEncryptor
1589+from canonical.launchpad.interfaces.launchpad import IPasswordEncryptor
1590 from canonical.launchpad.webapp.interfaces import IMultiLineWidgetLayout
1591
1592
1593
1594=== modified file 'lib/canonical/widgets/product.py'
1595--- lib/canonical/widgets/product.py 2010-10-03 15:30:06 +0000
1596+++ lib/canonical/widgets/product.py 2010-11-09 13:21:19 +0000
1597@@ -30,8 +30,9 @@
1598
1599 from canonical.launchpad.browser.widgets import DescriptionWidget
1600 from lp.services.fields import StrippedTextLine
1601-from canonical.launchpad.interfaces import (
1602- BugTrackerType, IBugTracker, IBugTrackerSet, ILaunchBag)
1603+from lp.bugs.interfaces.bugtracker import (
1604+ BugTrackerType, IBugTracker, IBugTrackerSet)
1605+from canonical.launchpad.webapp.interfaces import ILaunchBag
1606 from canonical.launchpad.validators import LaunchpadValidationError
1607 from canonical.launchpad.validators.email import email_validator
1608 from canonical.launchpad.webapp import canonical_url
1609
1610=== modified file 'lib/lp/bugs/configure.zcml'
1611--- lib/lp/bugs/configure.zcml 2010-11-03 12:24:24 +0000
1612+++ lib/lp/bugs/configure.zcml 2010-11-09 13:21:19 +0000
1613@@ -130,7 +130,7 @@
1614 <xmlrpc:view
1615 for="lp.bugs.interfaces.malone.IMaloneApplication"
1616 methods="filebug"
1617- class="canonical.launchpad.xmlrpc.FileBugAPI"
1618+ class="lp.bugs.xmlrpc.bug.FileBugAPI"
1619 permission="launchpad.AnyPerson"/>
1620
1621 <!-- Global Malone portlets -->
1622
1623=== modified file 'lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt'
1624--- lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt 2009-12-23 10:49:55 +0000
1625+++ lib/lp/bugs/tests/bugzilla-xmlrpc-transport.txt 2010-11-09 13:21:19 +0000
1626@@ -73,7 +73,7 @@
1627
1628 We can use the internal XML-RPC API to generate such a token.
1629
1630- >>> from canonical.launchpad.xmlrpc import ExternalBugTrackerTokenAPI
1631+ >>> from lp.bugs.xmlrpc.bug import ExternalBugTrackerTokenAPI
1632 >>> token_api = ExternalBugTrackerTokenAPI(None, None)
1633 >>> token_text = token_api.newBugTrackerToken()
1634
1635
1636=== modified file 'lib/lp/bugs/tests/externalbugtracker.py'
1637--- lib/lp/bugs/tests/externalbugtracker.py 2010-10-15 11:21:00 +0000
1638+++ lib/lp/bugs/tests/externalbugtracker.py 2010-11-09 13:21:19 +0000
1639@@ -38,7 +38,7 @@
1640 )
1641 from canonical.launchpad.interfaces.logintoken import ILoginTokenSet
1642 from canonical.launchpad.testing.systemdocs import ordered_dict_as_string
1643-from canonical.launchpad.xmlrpc import ExternalBugTrackerTokenAPI
1644+from lp.bugs.xmlrpc.bug import ExternalBugTrackerTokenAPI
1645 from canonical.testing.layers import LaunchpadZopelessLayer
1646 from lp.bugs.externalbugtracker import (
1647 BATCH_SIZE_UNLIMITED,
1648
1649=== modified file 'lib/lp/code/configure.zcml'
1650--- lib/lp/code/configure.zcml 2010-10-18 03:39:28 +0000
1651+++ lib/lp/code/configure.zcml 2010-11-09 13:21:19 +0000
1652@@ -191,13 +191,13 @@
1653
1654 <xmlrpc:view
1655 for="canonical.launchpad.interfaces.launchpad.IBazaarApplication"
1656- interface="canonical.launchpad.xmlrpc.IBranchSetAPI"
1657- class="canonical.launchpad.xmlrpc.BranchSetAPI"
1658+ interface="lp.code.xmlrpc.branch.IBranchSetAPI"
1659+ class="lp.code.xmlrpc.branch.BranchSetAPI"
1660 permission="launchpad.AnyPerson"/>
1661 <xmlrpc:view
1662 for="canonical.launchpad.interfaces.launchpad.IBazaarApplication"
1663- interface="canonical.launchpad.xmlrpc.IPublicCodehostingAPI"
1664- class="canonical.launchpad.xmlrpc.PublicCodehostingAPI"
1665+ interface="lp.code.xmlrpc.branch.IPublicCodehostingAPI"
1666+ class="lp.code.xmlrpc.branch.PublicCodehostingAPI"
1667 permission="zope.Public"/>
1668
1669 <!-- Branch Merge Proposal -->
1670
1671=== modified file 'lib/lp/registry/configure.zcml'
1672--- lib/lp/registry/configure.zcml 2010-11-04 03:45:27 +0000
1673+++ lib/lp/registry/configure.zcml 2010-11-09 13:21:19 +0000
1674@@ -557,8 +557,8 @@
1675 interface="lp.registry.interfaces.pillar.IPillarNameSet"/>
1676 </securedutility>
1677 <securedutility
1678- class="canonical.launchpad.rest.PillarSetLink"
1679- provides="canonical.launchpad.rest.IPillarSetLink">
1680+ class="canonical.launchpad.rest.pillarset.PillarSetLink"
1681+ provides="canonical.launchpad.rest.pillarset.IPillarSetLink">
1682 <allow
1683 interface="lazr.restful.interfaces.ITopLevelEntryLink"/>
1684 <allow
1685
1686=== modified file 'lib/lp/registry/interfaces/commercialsubscription.py'
1687--- lib/lp/registry/interfaces/commercialsubscription.py 2010-08-20 20:31:18 +0000
1688+++ lib/lp/registry/interfaces/commercialsubscription.py 2010-11-09 13:21:19 +0000
1689@@ -46,7 +46,7 @@
1690 required=True,
1691 readonly=True,
1692 vocabulary='Product',
1693- # Really IProduct. Set properly below.
1694+ # Really IProduct. Set properly in lp/registry/interfaces/product.py
1695 schema=Interface,
1696 description=_(
1697 "Project for which this commercial subscription is "
1698@@ -102,8 +102,3 @@
1699 title=_('Active'),
1700 readonly=True,
1701 description=_("Whether this subscription is active.")))
1702-
1703-
1704-# Fix circular dependency issues.
1705-from lp.registry.interfaces.product import IProduct
1706-ICommercialSubscription['product'].schema = IProduct
1707
1708=== modified file 'lib/lp/registry/interfaces/product.py'
1709--- lib/lp/registry/interfaces/product.py 2010-11-02 20:10:56 +0000
1710+++ lib/lp/registry/interfaces/product.py 2010-11-09 13:21:19 +0000
1711@@ -1084,3 +1084,5 @@
1712 from lp.registry.interfaces.distributionsourcepackage import (
1713 IDistributionSourcePackage)
1714 IDistributionSourcePackage['upstream_product'].schema = IProduct
1715+
1716+ICommercialSubscription['product'].schema = IProduct
1717
1718=== modified file 'lib/lp/services/features/browser/configure.zcml'
1719--- lib/lp/services/features/browser/configure.zcml 2010-09-29 06:47:11 +0000
1720+++ lib/lp/services/features/browser/configure.zcml 2010-11-09 13:21:19 +0000
1721@@ -16,7 +16,7 @@
1722 is for admins only.
1723 -->
1724 <browser:page
1725- for="canonical.launchpad.interfaces.ILaunchpadRoot"
1726+ for="canonical.launchpad.webapp.interfaces.ILaunchpadRoot"
1727 class="lp.services.features.browser.edit.FeatureControlView"
1728 name="+feature-rules"
1729 permission="launchpad.Edit"
1730
1731=== modified file 'scripts/bug-export.py'
1732--- scripts/bug-export.py 2010-10-03 15:30:06 +0000
1733+++ scripts/bug-export.py 2010-11-09 13:21:19 +0000
1734@@ -11,7 +11,7 @@
1735
1736 from zope.component import getUtility
1737 from canonical.lp import initZopeless
1738-from canonical.launchpad.interfaces import IProductSet
1739+from lp.registry.interfaces.product import IProductSet
1740 from canonical.launchpad.scripts import execute_zcml_for_scripts
1741
1742 from lp.bugs.scripts.bugexport import export_bugtasks
1743
1744=== modified file 'scripts/bug-import.py'
1745--- scripts/bug-import.py 2010-10-03 15:30:06 +0000
1746+++ scripts/bug-import.py 2010-11-09 13:21:19 +0000
1747@@ -10,7 +10,7 @@
1748
1749 from zope.component import getUtility
1750 from canonical.config import config
1751-from canonical.launchpad.interfaces import IProductSet
1752+from lp.registry.interfaces.product import IProductSet
1753
1754 from lp.bugs.scripts.bugimport import BugImporter
1755 from lp.services.scripts.base import LaunchpadScript
1756
1757=== modified file 'scripts/cache-country-mirrors.py'
1758--- scripts/cache-country-mirrors.py 2010-10-03 15:30:06 +0000
1759+++ scripts/cache-country-mirrors.py 2010-11-09 13:21:19 +0000
1760@@ -19,10 +19,11 @@
1761
1762 from zope.component import getUtility
1763
1764+from lp.registry.interfaces.distributionmirror import (
1765+ IDistributionMirrorSet, MirrorContent)
1766 from lp.services.scripts.base import (
1767 LaunchpadScript, LaunchpadScriptFailure)
1768-from canonical.launchpad.interfaces import (
1769- ICountrySet, IDistributionMirrorSet, MirrorContent)
1770+from lp.services.worlddata.interfaces.country import ICountrySet
1771
1772
1773 class CacheCountryMirrors(LaunchpadScript):
1774
1775=== modified file 'scripts/close-account.py'
1776--- scripts/close-account.py 2010-10-03 15:30:06 +0000
1777+++ scripts/close-account.py 2010-11-09 13:21:19 +0000
1778@@ -15,9 +15,9 @@
1779
1780 from canonical.database.sqlbase import connect, sqlvalues
1781 from canonical.launchpad.scripts import db_options, logger_options, logger
1782-from canonical.launchpad.interfaces import (
1783- PersonCreationRationale, QuestionStatus)
1784-from canonical.launchpad.interfaces.account import AccountStatus
1785+from lp.answers.interfaces.questionenums import QuestionStatus
1786+from lp.registry.interfaces.person import PersonCreationRationale
1787+
1788
1789 def close_account(con, log, username):
1790 """Close a person's account.
1791
1792=== modified file 'scripts/convert-person-to-team.py'
1793--- scripts/convert-person-to-team.py 2010-10-03 15:30:06 +0000
1794+++ scripts/convert-person-to-team.py 2010-11-09 13:21:19 +0000
1795@@ -15,7 +15,8 @@
1796
1797 from lp.services.scripts.base import (
1798 LaunchpadScript, LaunchpadScriptFailure)
1799-from canonical.launchpad.interfaces import AccountStatus, IPersonSet
1800+from canonical.launchpad.interfaces.account import AccountStatus
1801+from lp.registry.interfaces.person import IPersonSet
1802
1803
1804 class ConvertPersonToTeamScript(LaunchpadScript):
1805
1806=== modified file 'scripts/ftpmaster-tools/initialise-from-parent.py'
1807--- scripts/ftpmaster-tools/initialise-from-parent.py 2010-10-03 15:30:06 +0000
1808+++ scripts/ftpmaster-tools/initialise-from-parent.py 2010-11-09 13:21:19 +0000
1809@@ -14,7 +14,7 @@
1810 from contrib.glock import GlobalLock
1811
1812 from canonical.config import config
1813-from canonical.launchpad.interfaces import IDistributionSet
1814+from lp.registry.interfaces.distribution import IDistributionSet
1815 from canonical.launchpad.scripts import (
1816 execute_zcml_for_scripts, logger, logger_options)
1817 from canonical.lp import initZopeless
1818
1819=== modified file 'scripts/ftpmaster-tools/remove-package.py'
1820--- scripts/ftpmaster-tools/remove-package.py 2010-10-03 15:30:06 +0000
1821+++ scripts/ftpmaster-tools/remove-package.py 2010-11-09 13:21:19 +0000
1822@@ -25,7 +25,7 @@
1823 from canonical.database.constants import UTC_NOW
1824 from canonical.launchpad.database import (BinaryPackagePublishingHistory,
1825 SourcePackagePublishingHistory)
1826-from canonical.launchpad.interfaces import IDistributionSet
1827+from lp.registry.interfaces.distribution import IDistributionSet
1828 from canonical.launchpad.scripts import (execute_zcml_for_scripts,
1829 logger, logger_options)
1830 from canonical.lp import initZopeless
1831
1832=== modified file 'scripts/ftpmaster-tools/sync-source.py'
1833--- scripts/ftpmaster-tools/sync-source.py 2010-10-20 13:33:24 +0000
1834+++ scripts/ftpmaster-tools/sync-source.py 2010-11-09 13:21:19 +0000
1835@@ -40,10 +40,6 @@
1836 cursor,
1837 sqlvalues,
1838 )
1839-from canonical.launchpad.interfaces import (
1840- IDistributionSet,
1841- IPersonSet,
1842- )
1843 from canonical.launchpad.scripts import (
1844 execute_zcml_for_scripts,
1845 logger,
1846@@ -55,6 +51,8 @@
1847 DpkgSourceError,
1848 extract_dpkg_source,
1849 )
1850+from lp.registry.interfaces.distribution import IDistributionSet
1851+from lp.registry.interfaces.person import IPersonSet
1852 from lp.registry.interfaces.pocket import PackagePublishingPocket
1853 from lp.soyuz.enums import PackagePublishingStatus
1854 from lp.soyuz.scripts.ftpmaster import (
1855
1856=== modified file 'scripts/migrate-bugzilla-initialcontacts.py'
1857--- scripts/migrate-bugzilla-initialcontacts.py 2010-10-03 15:30:06 +0000
1858+++ scripts/migrate-bugzilla-initialcontacts.py 2010-11-09 13:21:19 +0000
1859@@ -4,7 +4,6 @@
1860 # GNU Affero General Public License version 3 (see the file LICENSE).
1861
1862 import logging
1863-import re
1864 import MySQLdb
1865
1866 import _pythonpath
1867@@ -13,9 +12,10 @@
1868
1869 from canonical.lp import initZopeless
1870 from canonical.launchpad.scripts import execute_zcml_for_scripts
1871-from canonical.launchpad.interfaces import (
1872- IPersonSet, IEmailAddressSet, ILaunchpadCelebrities)
1873+from canonical.launchpad.interfaces.emailaddress import IEmailAddressSet
1874+from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
1875 from lp.app.errors import NotFoundError
1876+from lp.registry.interfaces.person import IPersonSet
1877
1878
1879 execute_zcml_for_scripts()
1880
1881=== modified file 'scripts/mlist-sync.py'
1882--- scripts/mlist-sync.py 2010-10-07 17:37:01 +0000
1883+++ scripts/mlist-sync.py 2010-11-09 13:21:19 +0000
1884@@ -37,8 +37,9 @@
1885 from zope.security.proxy import removeSecurityProxy
1886
1887 from canonical.config import config
1888-from canonical.launchpad.interfaces import (
1889- IEmailAddressSet, IMailingListSet, IPersonSet)
1890+from canonical.launchpad.interfaces.emailaddress import IEmailAddressSet
1891+from lp.registry.interfaces.mailinglist import IMailingListSet
1892+from lp.registry.interfaces.person import IPersonSet
1893 from lp.services.mailman.config import configure_prefix
1894 from lp.services.scripts.base import LaunchpadScript
1895
1896
1897=== modified file 'scripts/rosetta/check-distroseries-translations-diffs.py'
1898--- scripts/rosetta/check-distroseries-translations-diffs.py 2010-10-03 15:30:06 +0000
1899+++ scripts/rosetta/check-distroseries-translations-diffs.py 2010-11-09 13:21:19 +0000
1900@@ -10,7 +10,7 @@
1901 from zope.component import getUtility
1902
1903 from canonical.lp import initZopeless
1904-from canonical.launchpad.interfaces import IDistributionSet
1905+from lp.registry.interfaces.distribution import IDistributionSet
1906 from canonical.launchpad.scripts import execute_zcml_for_scripts
1907 from canonical.launchpad.scripts import logger, logger_options
1908
1909
1910=== modified file 'utilities/make-lp-user'
1911--- utilities/make-lp-user 2010-10-03 15:30:06 +0000
1912+++ utilities/make-lp-user 2010-11-09 13:21:19 +0000
1913@@ -43,14 +43,12 @@
1914
1915 from zope.component import getUtility
1916
1917-from canonical.launchpad.interfaces import (
1918- IPersonSet,
1919- ISSHKeySet,
1920- TeamMembershipStatus,
1921- )
1922 from canonical.launchpad.interfaces.gpghandler import IGPGHandler
1923 from canonical.launchpad.scripts import execute_zcml_for_scripts
1924 from lp.registry.interfaces.gpg import GPGKeyAlgorithm, IGPGKeySet
1925+from lp.registry.interfaces.person import IPersonSet
1926+from lp.registry.interfaces.ssh import ISSHKeySet
1927+from lp.registry.interfaces.teammembership import TeamMembershipStatus
1928 from lp.testing.factory import LaunchpadObjectFactory
1929
1930 # Shut up, pyflakes.