class Package(object): def __init__(self, name, url=None): self.name = name self.url = url or "https://aur.archlinux.org/{}.git".format(name) class Repo(object): def __init__(self, config): self.config = config self.packages = [] for package in self.config["packages"]: if isinstance(package, str): self.packages.append(Package(package)) else: self.packages.append(Package(package["name"], package.get("url"))) @property def name(self): return self.config.name @property def id(self): return self.config.id