From 14e7ef85ffd515cc4301f292d4d2eed250c3c861 Mon Sep 17 00:00:00 2001 From: bpmcdevitt Date: Sat, 20 Aug 2022 14:25:26 -0500 Subject: [PATCH] got logic separated into classes --- .../ubuntu_launchpad_distro_archive_lookup.py | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/tools/ubuntu_package_puller/ubuntu_launchpad_distro_archive_lookup.py b/tools/ubuntu_package_puller/ubuntu_launchpad_distro_archive_lookup.py index d8da9af..ef652c3 100644 --- a/tools/ubuntu_package_puller/ubuntu_launchpad_distro_archive_lookup.py +++ b/tools/ubuntu_package_puller/ubuntu_launchpad_distro_archive_lookup.py @@ -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()