got logic separated into classes
This commit is contained in:
parent
e358eef7ca
commit
14e7ef85ff
1 changed files with 28 additions and 19 deletions
|
@ -8,11 +8,11 @@ class UbuntuDistroLaunchpad:
|
|||
of a target source_package_name + distro_series
|
||||
"""
|
||||
def __init__(self, source_package_name=None, distro_series=None,
|
||||
version=None, debug=False):
|
||||
distro_version=None, debug=False):
|
||||
|
||||
self.source_package_name = source_package_name
|
||||
self.distro_series = distro_series
|
||||
self.version = version
|
||||
self.distro_version = distro_version
|
||||
self.debug = debug
|
||||
|
||||
self.launchpad = self.login()
|
||||
|
@ -39,12 +39,12 @@ class UbuntuDistroLaunchpad:
|
|||
return self.ubuntu.getSeries(name_or_version=self.distro_series)
|
||||
|
||||
def set_version(self):
|
||||
return self.ubuntu.getSeries(name_or_version=self.version)
|
||||
return self.ubuntu.getSeries(name_or_version=self.distro_version)
|
||||
|
||||
def set_distro(self):
|
||||
if self.distro_series and self.version is None:
|
||||
if self.distro_series and self.distro_version is None:
|
||||
return self.set_distro_series()
|
||||
elif self.version and self.distro_series is None:
|
||||
elif self.distro_version and self.distro_series is None:
|
||||
return self.set_version()
|
||||
|
||||
class UbuntuPackageArchive:
|
||||
|
@ -53,13 +53,13 @@ class UbuntuPackageArchive:
|
|||
i think is better for organization
|
||||
"""
|
||||
|
||||
def __init__(self, archive):
|
||||
self.distro_launchpad = UbuntuDistroLaunchpad()
|
||||
def __init__(self, archive='main'):
|
||||
self.archive = archive
|
||||
self.ubuntu = self.set_ubuntu()
|
||||
self.current_archive = self.set_archive()
|
||||
# self.ubuntu isnt getting set properly so the setting archive methods
|
||||
# arent working
|
||||
self.ubuntu = self.distro_launchpad.ubuntu
|
||||
|
||||
def set_ubuntu(self):
|
||||
return UbuntuDistroLaunchpad().ubuntu
|
||||
|
||||
def set_main_archive(self):
|
||||
"""
|
||||
|
@ -91,16 +91,25 @@ class UbuntuPackageArchive:
|
|||
return self.set_restricted_archive()
|
||||
elif self.archive == 'universe':
|
||||
return self.set_universe_archive()
|
||||
else:
|
||||
print('Please set an archive value of main, multiverse, restricted, or universe')
|
||||
return None
|
||||
|
||||
class UbuntuPackageHistory:
|
||||
def __init__(self, archive=None, source_package_name=None,
|
||||
def __init__(self, archive='main', source_package_name=None,
|
||||
distro_version=None, distro_series=None):
|
||||
self.archive = archive
|
||||
self.current_archive = UbuntuPackageArchive(archive)
|
||||
self.current_archive = UbuntuPackageArchive(archive).current_archive
|
||||
self.source_package_name = source_package_name
|
||||
self.distro_version = distro_version
|
||||
self.distro_series = distro_series
|
||||
self.distro = UbuntuDistroLaunchpad(distro_series=distro_series).distro
|
||||
self.distro = self.set_distro()
|
||||
|
||||
def set_distro(self):
|
||||
if self.distro_series and self.distro_version is None:
|
||||
return UbuntuDistroLaunchpad(distro_series=self.distro_series).distro
|
||||
elif self.distro_version and self.distro_series is None:
|
||||
return UbuntuDistroLaunchpad(distro_version=self.distro_version).distro
|
||||
|
||||
|
||||
def get_published_sources(self):
|
||||
|
@ -115,8 +124,9 @@ class UbuntuPackageHistory:
|
|||
# others. see the comment in the set_main_archive() function.
|
||||
#archive = self.set_main_archive()
|
||||
#series = self.set_distro_series()
|
||||
series = self.distro
|
||||
return self.archive.getPublishedSources(source_name=self.source_package_name, distro_series=series)
|
||||
distro = self.distro
|
||||
published_sources = self.current_archive.getPublishedSources(source_name = self.source_package_name, distro_series=distro)
|
||||
return published_sources
|
||||
|
||||
def source_package_version_history(self):
|
||||
sources = self.get_published_sources()
|
||||
|
@ -133,8 +143,7 @@ class UbuntuPackageHistory:
|
|||
return sorted(d.items())
|
||||
|
||||
if __name__ == '__main__':
|
||||
# example with python3.8, main archive, 20.04 for the distro
|
||||
package_checker = UbuntuPackageHistory(archive='main',
|
||||
source_package_name='python3.8', distro_series='20.04')
|
||||
|
||||
print(package_checker.source_package_version_history())
|
||||
upa = UbuntuPackageArchive()
|
||||
udl = UbuntuDistroLaunchpad()
|
||||
uph = UbuntuPackageHistory()
|
||||
|
|
Loading…
Add table
Reference in a new issue