ubuntutools/lp/lpapicache.py: The LP API function archive.checkUpload() throws

an exception when the person has no upload rights.
This commit is contained in:
Michael Bienia 2010-07-22 21:13:20 +02:00
parent 0cca58d2bb
commit 1e7993df3e

View File

@ -462,13 +462,21 @@ class PersonTeam(BaseWrapper):
canUpload = self._upload.get((archive, distroseries, pocket, package, component)) canUpload = self._upload.get((archive, distroseries, pocket, package, component))
if canUpload is None: if canUpload is None:
canUpload = archive.checkUpload( # checkUpload() throws an exception if the person can't upload
component=component, try:
distroseries=distroseries(), archive.checkUpload(
person=self(), component=component,
pocket=pocket, distroseries=distroseries(),
sourcepackagename=package, person=self(),
) pocket=pocket,
sourcepackagename=package,
)
canUpload = True
except HTTPError, e:
if e.response.status == 403:
canUpload = False
else:
raise e
self._upload[(archive, distroseries, pocket, package, component)] = canUpload self._upload[(archive, distroseries, pocket, package, component)] = canUpload
return canUpload return canUpload