class UbuntuPPASourcePackage(UbuntuSourcePackage):
"Download / unpack an PPA source package"
def __init__(self, ppa_spec, *args, **kwargs):
super(UbuntuPPASourcePackage, self).__init__(*args, **kwargs)
_, ppa = ppa_spec.split(':')
self._ppa_owner, self._ppa_name = ppa.split('/', 1)
#self.masters = [ "http://ubuntu-cloud.archive.canonical.com/ubuntu/" ]
def _lp_url(self, filename):
"Build a source package URL on Launchpad"
return os.path.join('https://launchpad.net', "~%s" % self._ppa_owner,
'+archive', 'ubuntu', self._ppa_name,
'+files', filename)
@property
def lp_spph(self):
"Return the LP Source Package Publishing History entry"
if not self._spph:
launchpad = launchpad_login()
possible_people = launchpad.people.findPerson(text=self._ppa_owner)
for person in possible_people:
if person.name == self._ppa_owner:
self._ppa_owner = person
break
spph = (self._ppa_owner.getPPAByName(name=self._ppa_name)
.getPublishedSources(
source_name=self.source,
version=self.version.full_version,
exact_match=True,
))
print(spph)
self._spph = SourcePackagePublishingHistory(spph[0])
return self._spph