class RepoList(object): """List of repositories """ def __init__(self): self.meta = _meta_ self.msg = Msg() self.all_repos = Repo().default_repository() self.all_repos["slack"] = Repo().slack() self.all_repos.update(Repo().custom_repository()) def repos(self): """View or enabled or disabled repositories """ def_cnt, cus_cnt = 0, 0 print("") self.msg.template(78) print("{0}{1}{2}{3}{4}{5}{6}".format( "| Repo id", " " * 2, "Repo URL", " " * 44, "Default", " " * 3, "Status")) self.msg.template(78) for repo_id, repo_URL in sorted(self.all_repos.iteritems()): status, COLOR = "disabled", self.meta.color["RED"] default = "yes" if len(repo_URL) > 49: repo_URL = repo_URL[:48] + "~" if repo_id in self.meta.repositories: def_cnt += 1 status, COLOR = "enabled", self.meta.color["GREEN"] if repo_id not in self.meta.default_repositories: cus_cnt += 1 default = "no" print(" {0}{1}{2}{3}{4}{5}{6}{7:>8}{8}".format( repo_id, " " * (9 - len(repo_id)), repo_URL, " " * (52 - len(repo_URL)), default, " " * (8 - len(default)), COLOR, status, self.meta.color["ENDC"])) print("\nRepositories summary") print("=" * 79) print("{0}{1}/{2} enabled default repositories and {3} custom.".format( self.meta.color["GREY"], def_cnt, len(self.all_repos), cus_cnt)) print("For enable or disable default repositories edit " "'/etc/slpkg/repositories.conf'\nfile.\n{0}".format( self.meta.color["ENDC"])) raise SystemExit()
class RepoList(object): """List of repositories """ def __init__(self): self.meta = _meta_ self.msg = Msg() self.all_repos = Repo().default_repository() self.all_repos["slack"] = Repo().slack() self.all_repos.update(Repo().custom_repository()) def repos(self): """View or enabled or disabled repositories """ def_cnt, cus_cnt = 0, 0 print("") self.msg.template(78) print("{0}{1}{2}{3}{4}{5}{6}".format("| Repo id", " " * 2, "Repo URL", " " * 44, "Default", " " * 3, "Status")) self.msg.template(78) for repo_id, repo_URL in sorted(self.all_repos.iteritems()): status, COLOR = "disabled", self.meta.color["RED"] default = "yes" if len(repo_URL) > 49: repo_URL = repo_URL[:48] + "~" if repo_id in self.meta.repositories: def_cnt += 1 status, COLOR = "enabled", self.meta.color["GREEN"] if repo_id not in self.meta.default_repositories: cus_cnt += 1 default = "no" print(" {0}{1}{2}{3}{4}{5}{6}{7:>8}{8}".format( repo_id, " " * (9 - len(repo_id)), repo_URL, " " * (52 - len(repo_URL)), default, " " * (8 - len(default)), COLOR, status, self.meta.color["ENDC"])) print("\nRepositories summary") print("=" * 79) print("{0}{1}/{2} enabled default repositories and {3} custom.".format( self.meta.color["GREY"], def_cnt, len(self.all_repos), cus_cnt)) print("For enable or disable default repositories edit " "'/etc/slpkg/repositories.conf'\nfile or run 'slpkg " "repo-enable' command.\n{0}".format(self.meta.color["ENDC"])) raise SystemExit()
class RepoInfo(object): """Repository information """ def __init__(self): self.form = { "Last updated:": "", "Number of packages:": "", "Repo id:": "", "Default:": "", "Repo url:": "", "Status:": "", "Total compressed packages:": "", "Total uncompressed packages:": "" } self.meta = _meta_ self.all_repos = Repo().default_repository() self.all_repos["slack"] = Repo().slack() self.all_repos.update(Repo().custom_repository()) del RepoList().all_repos def view(self, repo): """ View repository information """ status = "{0}disabled{1}".format(self.meta.color["RED"], self.meta.color["ENDC"]) self.form["Status:"] = status self.form["Default:"] = "no" if repo in self.meta.default_repositories: self.form["Default:"] = "yes" if (repo in self.meta.repositories and os.path.isfile(self.meta.lib_path + "{0}_repo/PACKAGES." "TXT".format(repo))): status = "{0}enabled{1}".format(self.meta.color["GREEN"], self.meta.color["ENDC"]) if repo != "sbo": data = self.repository_data(repo) size = units(data[1], data[2]) self.form["Repo id:"] = repo self.form["Repo url:"] = self.all_repos[repo] self.form["Total compressed packages:"] = "{0} {1}".format( str(size[1][0]), str(size[0][0])) self.form["Total uncompressed packages:"] = "{0} {1}".format( str(size[1][1]), str(size[0][1])) self.form["Number of packages:"] = data[0] self.form["Status:"] = status self.form["Last updated:"] = data[3] elif (repo == "sbo" and os.path.isfile(self.meta.lib_path + "{0}_repo/" "SLACKBUILDS.TXT".format(repo))): status = "{0}enabled{1}".format(self.meta.color["GREEN"], self.meta.color["ENDC"]) sum_sbo_pkgs = 0 for line in (Utils().read_file( self.meta.lib_path + "sbo_repo/SLACKBUILDS." "TXT").splitlines()): if line.startswith("SLACKBUILD NAME: "): sum_sbo_pkgs += 1 changelog_txt = Utils().read_file( self.meta.log_path + "sbo/ChangeLog.txt") last_upd = changelog_txt.split("\n", 1)[0] self.form["Repo id:"] = repo self.form["Repo url:"] = self.all_repos[repo] self.form["Total compressed packages:"] = "" self.form["Total uncompressed packages:"] = "" self.form["Number of packages:"] = sum_sbo_pkgs self.form["Status:"] = status self.form["Last updated:"] = last_upd print("") for key, value in sorted(self.form.iteritems()): print self.meta.color["GREY"] + key + self.meta.color["ENDC"], value print("") raise SystemExit() def repository_data(self, repo): """ Grap data packages """ sum_pkgs, size, unsize, last_upd = 0, [], [], "" for line in (Utils().read_file( self.meta.lib_path + repo + "_repo/PACKAGES.TXT").splitlines()): if line.startswith("PACKAGES.TXT;"): last_upd = line[14:].strip() if line.startswith("PACKAGE NAME:"): sum_pkgs += 1 if line.startswith("PACKAGE SIZE (compressed): "): size.append(line[28:-2].strip()) if line.startswith("PACKAGE SIZE (uncompressed): "): unsize.append(line[30:-2].strip()) if repo in ["salix", "slackl"]: log = Utils().read_file( self.meta.log_path + "{0}/ChangeLog.txt".format(repo)) last_upd = log.split("\n", 1)[0] return [sum_pkgs, size, unsize, last_upd]