launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #01885
[Merge] lp:~jml/launchpad/patmos-2 into lp:launchpad/devel
Jonathan Lange has proposed merging lp:~jml/launchpad/patmos-2 into lp:launchpad/devel with lp:~jml/launchpad/patmos-1 as a prerequisite.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
This branch changes the webservice registration to be explicit for all objects, thus removing another thing that depends on the c.l.interfaces globs.
--
https://code.launchpad.net/~jml/launchpad/patmos-2/+merge/40396
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~jml/launchpad/patmos-2 into lp:launchpad/devel.
=== added file 'lib/canonical/launchpad/interfaces/webservice.py'
--- lib/canonical/launchpad/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/canonical/launchpad/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,32 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="canonical.launchpad.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__metaclass__ = type
+__all__ = [
+ 'IEmailAddress',
+ 'IMessage',
+ 'ITemporaryBlobStorage',
+ 'ITemporaryStorageManager',
+ 'IWebServiceApplication',
+ ]
+
+from canonical.launchpad.interfaces.launchpad import IWebServiceApplication
+
+from canonical.launchpad.interfaces.emailaddress import IEmailAddress
+from canonical.launchpad.interfaces.message import IMessage
+from canonical.launchpad.interfaces.temporaryblobstorage import (
+ ITemporaryBlobStorage,
+ ITemporaryStorageManager,
+ )
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/canonical/launchpad/zcml/webservice.zcml'
--- lib/canonical/launchpad/zcml/webservice.zcml 2010-10-03 15:30:06 +0000
+++ lib/canonical/launchpad/zcml/webservice.zcml 2010-11-09 16:27:54 +0000
@@ -36,10 +36,10 @@
for="lazr.restful.interfaces.IEntry
zope.schema.interfaces.IField"
provides="lazr.restful.interfaces.IByteStorage"
- factory="canonical.launchpad.rest.LibraryBackedByteStorage"
+ factory="canonical.launchpad.rest.bytestorage.LibraryBackedByteStorage"
/>
- <class class="canonical.launchpad.rest.LibraryBackedByteStorage">
+ <class class="canonical.launchpad.rest.bytestorage.LibraryBackedByteStorage">
<allow interface='lazr.restful.interfaces.IByteStorage' />
</class>
@@ -49,10 +49,10 @@
for="lazr.restful.interfaces.IEntry
lp.services.fields.IRestrictedBytes"
provides="lazr.restful.interfaces.IByteStorage"
- factory="canonical.launchpad.rest.RestrictedLibraryBackedByteStorage"
+ factory="canonical.launchpad.rest.bytestorage.RestrictedLibraryBackedByteStorage"
/>
- <class class="canonical.launchpad.rest.RestrictedLibraryBackedByteStorage">
+ <class class="canonical.launchpad.rest.bytestorage.RestrictedLibraryBackedByteStorage">
<allow interface='lazr.restful.interfaces.IByteStorage' />
</class>
@@ -68,13 +68,13 @@
for="lp.bugs.interfaces.bugmessage.IBugComment
lazr.restful.interfaces.IWebServiceClientRequest"
provides="lazr.restful.interfaces.IEntry"
- factory="canonical.launchpad.rest.bugcomment_to_entry"
+ factory="lp.bugs.adapters.bug.bugcomment_to_entry"
/>
<grok:grok package="lazr.restful.directives" />
<grok:grok package="canonical.launchpad.rest" />
- <webservice:register module="canonical.launchpad.interfaces" />
+ <webservice:register module="canonical.launchpad.interfaces.webservice" />
<adapter
for="zope.schema.interfaces.IChoice
=== modified file 'lib/lp/blueprints/configure.zcml'
--- lib/lp/blueprints/configure.zcml 2010-11-04 03:34:54 +0000
+++ lib/lp/blueprints/configure.zcml 2010-11-09 16:27:54 +0000
@@ -6,6 +6,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:i18n="http://namespaces.zope.org/i18n"
+ xmlns:webservice="http://namespaces.canonical.com/webservice"
xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
xmlns:lp="http://namespaces.canonical.com/lp"
i18n_domain="launchpad">
@@ -238,4 +239,6 @@
<allow interface="lp.blueprints.interfaces.specificationmessage.ISpecificationMessageSet"/>
</securedutility>
+ <webservice:register module="lp.blueprints.interfaces.webservice" />
+
</configure>
=== added file 'lib/lp/blueprints/interfaces/webservice.py'
--- lib/lp/blueprints/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/lp/blueprints/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,22 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.blueprints.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__all__ = [
+ 'ISpecification',
+ 'ISpecificationBranch',
+ ]
+
+from lp.blueprints.interfaces.specification import ISpecification
+from lp.blueprints.interfaces.specificationbranch import ISpecificationBranch
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/bugs/configure.zcml'
--- lib/lp/bugs/configure.zcml 2010-11-09 16:27:51 +0000
+++ lib/lp/bugs/configure.zcml 2010-11-09 16:27:54 +0000
@@ -6,6 +6,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:i18n="http://namespaces.zope.org/i18n"
+ xmlns:webservice="http://namespaces.canonical.com/webservice"
xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
xmlns:lp="http://namespaces.canonical.com/lp"
i18n_domain="launchpad">
@@ -1052,4 +1053,7 @@
mail_header
recipient"/>
</class>
+
+ <webservice:register module="lp.bugs.interfaces.webservice" />
+
</configure>
=== modified file 'lib/lp/bugs/interfaces/bugbranch.py'
--- lib/lp/bugs/interfaces/bugbranch.py 2010-08-20 20:31:18 +0000
+++ lib/lp/bugs/interfaces/bugbranch.py 2010-11-09 16:27:54 +0000
@@ -12,10 +12,6 @@
"IBugBranchSet",
]
-from lazr.enum import (
- DBEnumeratedType,
- DBItem,
- )
from lazr.restful.declarations import (
export_as_webservice_entry,
exported,
@@ -23,7 +19,6 @@
from lazr.restful.fields import ReferenceChoice
from zope.interface import Interface
from zope.schema import (
- Choice,
Int,
Object,
TextLine,
@@ -40,7 +35,6 @@
from lp.registry.interfaces.person import IPerson
from lp.services.fields import (
BugField,
- Summary,
)
=== added file 'lib/lp/bugs/interfaces/webservice.py'
--- lib/lp/bugs/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/lp/bugs/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,86 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.bugs.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__all__ = [
+ 'BugNominationStatusError',
+ 'IBug',
+ 'InvalidBugTargetType',
+ 'InvalidDuplicateValue',
+ 'IBugActivity',
+ 'IBugAttachment',
+ 'IBugBranch',
+ 'IBugNomination',
+ 'IBugSubscription',
+ 'IBugTarget',
+ 'IBugTask',
+ 'IBugTracker',
+ 'IBugTrackerComponent',
+ 'IBugTrackerComponentGroup',
+ 'IBugTrackerSet',
+ 'IBugWatch',
+ 'ICve',
+ 'ICveSet',
+ 'IHasBugs',
+ 'IMaloneApplication',
+ 'IllegalRelatedBugTasksParams',
+ 'IllegalTarget',
+ 'NominationError',
+ 'NominationSeriesObsoleteError',
+ 'UserCannotEditBugTaskAssignee',
+ 'UserCannotEditBugTaskImportance',
+ 'UserCannotEditBugTaskMilestone',
+ 'UserCannotEditBugTaskStatus',
+ ]
+
+from lp.bugs.interfaces.bug import (
+ IBug,
+ InvalidBugTargetType,
+ InvalidDuplicateValue,
+ )
+from lp.bugs.interfaces.bugactivity import IBugActivity
+from lp.bugs.interfaces.bugattachment import IBugAttachment
+from lp.bugs.interfaces.bugbranch import IBugBranch
+from lp.bugs.interfaces.malone import IMaloneApplication
+from lp.bugs.interfaces.bugnomination import (
+ BugNominationStatusError,
+ IBugNomination,
+ NominationError,
+ NominationSeriesObsoleteError,
+ )
+from lp.bugs.interfaces.bugsubscription import IBugSubscription
+from lp.bugs.interfaces.bugtarget import (
+ IBugTarget,
+ IHasBugs,
+ )
+from lp.bugs.interfaces.bugtask import (
+ IBugTask,
+ IllegalRelatedBugTasksParams,
+ IllegalTarget,
+ UserCannotEditBugTaskAssignee,
+ UserCannotEditBugTaskImportance,
+ UserCannotEditBugTaskMilestone,
+ UserCannotEditBugTaskStatus,
+ )
+from lp.bugs.interfaces.bugtracker import (
+ IBugTracker,
+ IBugTrackerComponent,
+ IBugTrackerComponentGroup,
+ IBugTrackerSet,
+ )
+from lp.bugs.interfaces.bugwatch import IBugWatch
+from lp.bugs.interfaces.cve import (
+ ICve,
+ ICveSet,
+ )
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/code/interfaces/webservice.py'
--- lib/lp/code/interfaces/webservice.py 2010-08-20 20:31:18 +0000
+++ lib/lp/code/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -1,7 +1,36 @@
-# Copyright 2009 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2010 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
-"""All the interfaces that are exposed through the webservice."""
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.code.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__all__ = [
+ 'BranchCreatorNotMemberOfOwnerTeam',
+ 'BranchCreatorNotOwner',
+ 'BranchExists',
+ 'BranchMergeProposalExists',
+ 'BuildAlreadyPending',
+ 'CodeImportAlreadyRunning',
+ 'CodeImportNotInReviewedState',
+ 'IBranch',
+ 'IBranchMergeProposal',
+ 'IBranchSet',
+ 'IBranchSubscription',
+ 'ICodeImport',
+ 'ICodeReviewComment',
+ 'ICodeReviewVoteReference',
+ 'IDiff',
+ 'IPreviewDiff',
+ 'ISourcePackageRecipe',
+ 'ISourcePackageRecipeBuild',
+ 'IStaticDiff',
+ 'TooManyBuilds',
+ ]
# The exceptions are imported so that they can produce the special
# status code defined by webservice_error when they are raised.
@@ -33,5 +62,7 @@
from lp.code.interfaces.sourcepackagerecipebuild import (
ISourcePackageRecipeBuild,
)
-
-
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/hardwaredb/configure.zcml'
--- lib/lp/hardwaredb/configure.zcml 2010-02-02 17:12:29 +0000
+++ lib/lp/hardwaredb/configure.zcml 2010-11-09 16:27:54 +0000
@@ -2,6 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:i18n="http://namespaces.zope.org/i18n"
+ xmlns:webservice="http://namespaces.canonical.com/webservice"
xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
i18n_domain="launchpad">
<include
@@ -187,4 +188,6 @@
<allow
interface="lp.hardwaredb.interfaces.hwdb.IHWSubmissionBugSet"/>
</securedutility>
-</configure>
\ No newline at end of file
+
+ <webservice:register module="lp.hardwaredb.interfaces.webservice" />
+</configure>
=== added file 'lib/lp/hardwaredb/interfaces/webservice.py'
--- lib/lp/hardwaredb/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/lp/hardwaredb/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,42 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.hardwaredb.interfaces.hwdb" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__all__ = [
+ 'IHWDBApplication',
+ 'IHWDevice',
+ 'IHWDeviceClass',
+ 'IHWDriver',
+ 'IHWDriverName',
+ 'IHWDriverPackageName',
+ 'IHWSubmission',
+ 'IHWSubmissionDevice',
+ 'IHWVendorID',
+ 'IllegalQuery',
+ 'ParameterError',
+ ]
+
+from lp.hardwaredb.interfaces.hwdb import (
+ IHWDBApplication,
+ IHWDevice,
+ IHWDeviceClass,
+ IHWDriver,
+ IHWDriverName,
+ IHWDriverPackageName,
+ IHWSubmission,
+ IHWSubmissionDevice,
+ IHWVendorID,
+ IllegalQuery,
+ ParameterError,
+ )
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/registry/configure.zcml'
--- lib/lp/registry/configure.zcml 2010-11-09 16:27:51 +0000
+++ lib/lp/registry/configure.zcml 2010-11-09 16:27:54 +0000
@@ -1862,11 +1862,8 @@
interface="lp.registry.interfaces.personproduct.IPersonProduct"/>
</class>
- <!-- Registers exceptions used in webservice defined in lp.registry.
- Other data is in module=canonical.launchpad.interfaces as defined in
- zcml there.-->
-
<webservice:register module="lp.registry.errors" />
+ <webservice:register module="lp.registry.interfaces.webservice" />
<adapter
provides="canonical.launchpad.webapp.interfaces.IBreadcrumb"
=== added file 'lib/lp/registry/interfaces/webservice.py'
--- lib/lp/registry/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/lp/registry/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,106 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice."""
+
+__all__ = [
+ 'DerivationError',
+ 'ICommercialSubscription',
+ 'IDistribution',
+ 'IDistributionMirror',
+ 'IDistributionSet',
+ 'IDistributionSourcePackage',
+ 'IDistroSeries',
+ 'IDistroSeriesDifference',
+ 'IDistroSeriesDifferenceComment',
+ 'IGPGKey',
+ 'IHasMilestones',
+ 'IIrcID',
+ 'IJabberID',
+ 'IMilestone',
+ 'IPerson',
+ 'IPersonSet',
+ 'IPillar',
+ 'IPillarNameSet',
+ 'IProduct',
+ 'IProductRelease',
+ 'IProductReleaseFile',
+ 'IProductSeries',
+ 'IProductSet',
+ 'IProjectGroup',
+ 'IProjectGroupSet',
+ 'ISSHKey',
+ 'ISourcePackage',
+ 'ISourcePackageName',
+ 'IStructuralSubscription',
+ 'IStructuralSubscriptionTarget',
+ 'ITeam',
+ 'ITeamMembership',
+ 'IWikiName',
+ 'PPACreationError',
+ ]
+
+from lp.registry.interfaces.commercialsubscription import (
+ ICommercialSubscription,
+ )
+from lp.registry.interfaces.distribution import (
+ IDistribution,
+ IDistributionSet,
+ )
+from lp.registry.interfaces.distributionmirror import IDistributionMirror
+from lp.registry.interfaces.distributionsourcepackage import (
+ IDistributionSourcePackage,
+ )
+from lp.registry.interfaces.distroseries import (
+ DerivationError,
+ IDistroSeries,
+ )
+from lp.registry.interfaces.distroseriesdifference import (
+ IDistroSeriesDifference,
+ )
+from lp.registry.interfaces.distroseriesdifferencecomment import (
+ IDistroSeriesDifferenceComment,
+ )
+from lp.registry.interfaces.gpg import IGPGKey
+from lp.registry.interfaces.irc import IIrcID
+from lp.registry.interfaces.jabber import IJabberID
+from lp.registry.interfaces.milestone import (
+ IHasMilestones,
+ IMilestone,
+ )
+from lp.registry.interfaces.person import (
+ IPerson,
+ IPersonSet,
+ ITeam,
+ PPACreationError,
+ )
+from lp.registry.interfaces.pillar import (
+ IPillar,
+ IPillarNameSet,
+ )
+from lp.registry.interfaces.product import (
+ IProduct,
+ IProductSet,
+ )
+from lp.registry.interfaces.productrelease import (
+ IProductRelease,
+ IProductReleaseFile,
+ )
+from lp.registry.interfaces.productseries import IProductSeries
+from lp.registry.interfaces.projectgroup import (
+ IProjectGroup,
+ IProjectGroupSet,
+ )
+from lp.registry.interfaces.sourcepackage import ISourcePackage
+from lp.registry.interfaces.sourcepackagename import ISourcePackageName
+from lp.registry.interfaces.ssh import ISSHKey
+from lp.registry.interfaces.structuralsubscription import (
+ IStructuralSubscription,
+ IStructuralSubscriptionTarget,
+ )
+from lp.registry.interfaces.teammembership import ITeamMembership
+from lp.registry.interfaces.wikiname import IWikiName
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/services/worlddata/configure.zcml'
--- lib/lp/services/worlddata/configure.zcml 2010-02-20 03:00:48 +0000
+++ lib/lp/services/worlddata/configure.zcml 2010-11-09 16:27:54 +0000
@@ -5,6 +5,7 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:i18n="http://namespaces.zope.org/i18n"
+ xmlns:webservice="http://namespaces.canonical.com/webservice"
i18n_domain="launchpad">
<include file="vocabularies.zcml"/>
@@ -57,4 +58,5 @@
<include package=".browser"/>
+ <webservice:register module="lp.services.worlddata.interfaces.webservice" />
</configure>
=== added file 'lib/lp/services/worlddata/interfaces/webservice.py'
--- lib/lp/services/worlddata/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/lp/services/worlddata/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,30 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.services.worlddata.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__all__ = [
+ 'ICountry',
+ 'ICountrySet',
+ 'ILanguage',
+ 'ILanguageSet',
+ ]
+
+from lp.services.worlddata.interfaces.country import (
+ ICountry,
+ ICountrySet,
+ )
+from lp.services.worlddata.interfaces.language import (
+ ILanguage,
+ ILanguageSet,
+ )
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/soyuz/configure.zcml'
--- lib/lp/soyuz/configure.zcml 2010-11-04 13:13:24 +0000
+++ lib/lp/soyuz/configure.zcml 2010-11-09 16:27:54 +0000
@@ -6,6 +6,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:i18n="http://namespaces.zope.org/i18n"
+ xmlns:webservice="http://namespaces.canonical.com/webservice"
xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
i18n_domain="launchpad">
<include
@@ -925,4 +926,7 @@
<allow interface="lp.soyuz.interfaces.distributionjob.ISyncPackageJob" />
<allow interface="lp.soyuz.interfaces.distributionjob.IDistributionJob" />
</class>
+
+ <webservice:register module="lp.soyuz.interfaces.webservice" />
+
</configure>
=== added file 'lib/lp/soyuz/interfaces/webservice.py'
--- lib/lp/soyuz/interfaces/webservice.py 1970-01-01 00:00:00 +0000
+++ lib/lp/soyuz/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -0,0 +1,106 @@
+# Copyright 2010 Canonical Ltd. This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.soyuz.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
+
+__all__ = [
+ 'AlreadySubscribed',
+ 'ArchiveDisabled',
+ 'ArchiveNotPrivate',
+ 'CannotBeRescored',
+ 'CannotCopy',
+ 'CannotSwitchPrivacy',
+ 'CannotUploadToArchive',
+ 'CannotUploadToPPA',
+ 'CannotUploadToPocket',
+ 'ComponentNotFound',
+ 'DistroSeriesNotFound',
+ 'DuplicatePackagesetName',
+ 'IArchive',
+ 'IArchiveDependency',
+ 'IArchivePermission',
+ 'IArchiveSubscriber',
+ 'IBinaryPackageBuild',
+ 'IBinaryPackagePublishingHistory',
+ 'IBinaryPackageReleaseDownloadCount',
+ 'IDistroArchSeries',
+ 'IPackageUpload',
+ 'IPackageset',
+ 'IPackagesetEdit',
+ 'IPackagesetSet',
+ 'IPackagesetViewOnly',
+ 'ISourcePackagePublishingHistory',
+ 'IncompatibleArguments',
+ 'InsufficientUploadRights',
+ 'InvalidComponent',
+ 'InvalidPocketForPPA',
+ 'InvalidPocketForPartnerArchive',
+ 'NoRightsForArchive',
+ 'NoRightsForComponent',
+ 'NoSuchPPA',
+ 'NoSuchPackageSet',
+ 'NoTokensForTeams',
+ 'PocketNotFound',
+ 'VersionRequiresName',
+ ]
+
+from lp.soyuz.interfaces.archive import (
+ AlreadySubscribed,
+ ArchiveDisabled,
+ ArchiveNotPrivate,
+ CannotCopy,
+ CannotSwitchPrivacy,
+ CannotUploadToArchive,
+ CannotUploadToPPA,
+ CannotUploadToPocket,
+ ComponentNotFound,
+ DistroSeriesNotFound,
+ IArchive,
+ InsufficientUploadRights,
+ InvalidComponent,
+ InvalidPocketForPPA,
+ InvalidPocketForPartnerArchive,
+ NoRightsForArchive,
+ NoRightsForComponent,
+ NoSuchPPA,
+ NoTokensForTeams,
+ PocketNotFound,
+ VersionRequiresName,
+ )
+from lp.soyuz.interfaces.archivedependency import IArchiveDependency
+from lp.soyuz.interfaces.archivepermission import IArchivePermission
+from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriber
+from lp.soyuz.interfaces.binarypackagebuild import (
+ CannotBeRescored,
+ IBinaryPackageBuild,
+ )
+from lp.soyuz.interfaces.binarypackagerelease import (
+ IBinaryPackageReleaseDownloadCount,
+ )
+from lp.soyuz.interfaces.buildrecords import (
+ IncompatibleArguments,
+ )
+from lp.soyuz.interfaces.distroarchseries import IDistroArchSeries
+from lp.soyuz.interfaces.packageset import (
+ DuplicatePackagesetName,
+ IPackagesetViewOnly,
+ IPackagesetEdit,
+ IPackageset,
+ IPackagesetSet,
+ NoSuchPackageSet,
+ )
+from lp.soyuz.interfaces.publishing import (
+ IBinaryPackagePublishingHistory,
+ ISourcePackagePublishingHistory,
+ )
+from lp.soyuz.interfaces.queue import IPackageUpload
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
=== modified file 'lib/lp/translations/interfaces/webservice.py'
--- lib/lp/translations/interfaces/webservice.py 2010-10-29 10:17:14 +0000
+++ lib/lp/translations/interfaces/webservice.py 2010-11-09 16:27:54 +0000
@@ -3,7 +3,13 @@
# pylint: disable-msg=W0611
-"""All the interfaces that are exposed through the webservice."""
+"""All the interfaces that are exposed through the webservice.
+
+There is a declaration in ZCML somewhere that looks like:
+ <webservice:register module="lp.translations.interfaces.webservice" />
+
+which tells `lazr.restful` that it should look for webservice exports here.
+"""
__all__ = [
'IHasTranslationImports',
@@ -22,3 +28,7 @@
ITranslationImportQueue,
ITranslationImportQueueEntry,
)
+# XXX: JonathanLange 2010-11-09 bug=673083: Legacy work-around for circular
+# import bugs. Break this up into a per-package thing.
+from canonical.launchpad.interfaces import _schema_circular_imports
+_schema_circular_imports
Follow ups