Merge from my devel branch

This commit is contained in:
Michael Bienia 2009-08-06 16:24:20 +02:00
commit 0e4604eeb7

View File

@ -65,14 +65,14 @@ class LpApiWrapper(object):
for package either through component upload rights or for package either through component upload rights or
per-package upload rights. per-package upload rights.
'package' can either be a SourcePackage object or a string and 'package' can either be a SourcePackagePublishingHistory object
an Ubuntu series. If 'package' doesn't exist yet in Ubuntu or a string and an Ubuntu series. If 'package' doesn't exist
assume 'universe' for component. yet in Ubuntu assume 'universe' for component.
''' '''
component = 'universe' component = 'universe'
archive = Distribution('ubuntu').getArchive() archive = Distribution('ubuntu').getArchive()
if isinstance(srcpkg, SourcePackage): if isinstance(srcpkg, SourcePackagePublishingHistory):
package = srcpkg.getPackageName() package = srcpkg.getPackageName()
component = srcpkg.getComponent() component = srcpkg.getComponent()
else: else:
@ -93,7 +93,7 @@ class LpApiWrapper(object):
''' '''
Check if the user has PerPackageUpload rights for package. Check if the user has PerPackageUpload rights for package.
''' '''
if isinstance(package, SourcePackage): if isinstance(package, SourcePackagePublishingHistory):
package = package.getPackageName() package = package.getPackageName()
archive = Distribution('ubuntu').getArchive() archive = Distribution('ubuntu').getArchive()
@ -268,8 +268,9 @@ class Archive(BaseWrapper):
def getSourcePackage(self, name, series = None, pocket = 'Release'): def getSourcePackage(self, name, series = None, pocket = 'Release'):
''' '''
Returns a SourcePackage object for the most recent source package Returns a SourcePackagePublishingHistory object for the most
in the distribution 'dist', series and pocket. recent source package in the distribution 'dist', series and
pocket.
series defaults to the current development series if not specified. series defaults to the current development series if not specified.
@ -302,7 +303,7 @@ class Archive(BaseWrapper):
srcpkg = self.getPublishedSources( srcpkg = self.getPublishedSources(
source_name = name, distro_series = series(), pocket = pocket, source_name = name, distro_series = series(), pocket = pocket,
status = state, exact_match = True)[0] status = state, exact_match = True)[0]
self._srcpkgs[(name, series.name, pocket)] = SourcePackage(srcpkg) self._srcpkgs[(name, series.name, pocket)] = SourcePackagePublishingHistory(srcpkg)
except IndexError: except IndexError:
if pocket == 'Release': if pocket == 'Release':
msg = "The package '%s' does not exist in the %s %s archive in '%s'" % \ msg = "The package '%s' does not exist in the %s %s archive in '%s'" % \
@ -315,14 +316,14 @@ class Archive(BaseWrapper):
return self._srcpkgs[(name, series.name, pocket)] return self._srcpkgs[(name, series.name, pocket)]
class SourcePackage(BaseWrapper): class SourcePackagePublishingHistory(BaseWrapper):
''' '''
Wrapper class around a LP source package object. Wrapper class around a LP source package object.
''' '''
resource_type = 'https://api.edge.launchpad.net/beta/#source_package_publishing_history' resource_type = 'https://api.edge.launchpad.net/beta/#source_package_publishing_history'
def __init__(self, *args): def __init__(self, *args):
# Don't share _builds between different SourcePackages # Don't share _builds between different SourcePackagePublishingHistory objects
if '_builds' not in self.__dict__: if '_builds' not in self.__dict__:
self._builds = dict() self._builds = dict()
@ -491,7 +492,7 @@ class PersonTeam(BaseWrapper):
''' '''
Check if the user has PerPackageUpload rights for package. Check if the user has PerPackageUpload rights for package.
''' '''
if isinstance(package, SourcePackage): if isinstance(package, SourcePackagePublishingHistory):
pkg = package.getPackageName() pkg = package.getPackageName()
comp = package.getComponent() comp = package.getComponent()
else: else:
@ -500,6 +501,7 @@ class PersonTeam(BaseWrapper):
return self.canUploadPackage(archive, pkg, None) return self.canUploadPackage(archive, pkg, None)
class Build(BaseWrapper): class Build(BaseWrapper):
''' '''
Wrapper class around a build object. Wrapper class around a build object.
@ -520,3 +522,10 @@ class Build(BaseWrapper):
self().retry() self().retry()
return True return True
return False return False
class DistributionSourcePackage(BaseWrapper):
'''
Caching class for distribution_source_package objects.
'''
resource_type = 'https://api.edge.launchpad.net/beta/#distribution_source_package'