mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-05-03 04:51:28 +00:00
archive: simplify PPA source package class
Signed-off-by: Dan Streetman <ddstreet@canonical.com>
This commit is contained in:
parent
ae3837be1d
commit
04ae04e17b
@ -31,6 +31,7 @@ from urllib.error import (URLError, HTTPError)
|
|||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
import codecs
|
import codecs
|
||||||
|
import functools
|
||||||
import json
|
import json
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
@ -612,24 +613,22 @@ class PersonalPackageArchiveSourcePackage(UbuntuSourcePackage):
|
|||||||
if len(ppa) != 2:
|
if len(ppa) != 2:
|
||||||
raise ValueError('Invalid PPA value "%s",'
|
raise ValueError('Invalid PPA value "%s",'
|
||||||
'must be "<USER>/<PPA>"' % kwargs['ppa'])
|
'must be "<USER>/<PPA>"' % kwargs['ppa'])
|
||||||
self._set_ppa(ppa[0], ppa[1])
|
self._teamname = ppa[0]
|
||||||
|
self._ppaname = ppa[1]
|
||||||
self.masters = []
|
self.masters = []
|
||||||
|
|
||||||
def getArchive(self):
|
@functools.cached_property
|
||||||
if not self._ppa:
|
def team(self):
|
||||||
try:
|
try:
|
||||||
self._team = PersonTeam.fetch(self._ppateam)
|
return PersonTeam.fetch(self._teamname)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise ValueError('No user/team "%s" found on Launchpad' % self._ppateam)
|
raise ValueError(f"No user/team '{self._teamname}' found on Launchpad")
|
||||||
self._ppa = self._team.getPPAByName(self._ppaname)
|
|
||||||
Logger.debug('Using PPA %s' % self._ppa.web_link)
|
|
||||||
return self._ppa
|
|
||||||
|
|
||||||
def _set_ppa(self, team, name):
|
@functools.lru_cache
|
||||||
self._ppateam = team
|
def getArchive(self):
|
||||||
self._ppaname = name
|
ppa = self.team.getPPAByName(self._ppaname)
|
||||||
self._team = None
|
Logger.debug(f"Using PPA '{ppa.web_link}'")
|
||||||
self._ppa = None
|
return ppa
|
||||||
|
|
||||||
|
|
||||||
class UbuntuCloudArchiveSourcePackage(PersonalPackageArchiveSourcePackage):
|
class UbuntuCloudArchiveSourcePackage(PersonalPackageArchiveSourcePackage):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user