Much cleaner build script

This commit is contained in:
Greg Hellings
2023-08-10 23:17:15 -05:00
parent f2c43c3cae
commit dc583c41eb
12 changed files with 171 additions and 8 deletions
+26
View File
@@ -0,0 +1,26 @@
from provider import Provider
from build import Build
class Distro:
def __init__(self, name: str, support: map):
self.name = name
self.builds = []
for version, matrix in support.items():
for support in matrix:
provider = Provider(support["provider"], support["arch"])
build = Build(self.name, version, provider)
self.builds.append(build)
def __str__(self) -> str:
return f"{self.name}"
def __repr__(self) -> str:
return f"{self.name}: {' '.join(self.versions)}"
@property
def versions(self) -> set[str]:
return set([b.version for b in self.builds])
def builds_for_version(self, version: str) -> set[Build]:
return set(filter(lambda x: x.version == version, self.builds))