mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-01-17 06:11:35 +01:00
Make code more readable
This commit is contained in:
parent
6d7ebf9e74
commit
79c619beba
1 changed files with 51 additions and 0 deletions
|
@ -86,8 +86,10 @@ class SBoInstall(BlackList, Utils):
|
|||
"""Flags initialization
|
||||
"""
|
||||
for fl in self.flag:
|
||||
|
||||
if fl.startswith("--directory-prefix="):
|
||||
self.build_folder = fl.split("=")[1]
|
||||
|
||||
if not self.build_folder.endswith("/"):
|
||||
self.build_folder += "/"
|
||||
|
||||
|
@ -98,6 +100,7 @@ class SBoInstall(BlackList, Utils):
|
|||
self.is_upgrade = is_upgrade
|
||||
self.case_insensitive()
|
||||
for _sbo in self.slackbuilds:
|
||||
|
||||
if _sbo in self.data and _sbo not in self.blacklist:
|
||||
sbo_deps = Requires(self.flag).sbo(_sbo)
|
||||
self.deps += sbo_deps
|
||||
|
@ -105,6 +108,7 @@ class SBoInstall(BlackList, Utils):
|
|||
self.package_found.append(_sbo)
|
||||
else:
|
||||
self.package_not_found.append(_sbo)
|
||||
|
||||
self.update_deps()
|
||||
|
||||
if not self.package_found:
|
||||
|
@ -114,19 +118,23 @@ class SBoInstall(BlackList, Utils):
|
|||
self.master_packages, mas_src = self.sbo_version_source(
|
||||
self.package_found)
|
||||
self.msg.done()
|
||||
|
||||
if (self.meta.rsl_deps in ["on", "ON"] and
|
||||
self.flag != "--resolve-off" and not self.match):
|
||||
self.msg.resolving()
|
||||
self.dependencies, dep_src = self.sbo_version_source(
|
||||
self.one_for_all(self.deps))
|
||||
|
||||
if (self.meta.rsl_deps in ["on", "ON"] and
|
||||
self.flag != "--resolve-off" and not self.match):
|
||||
self.msg.done()
|
||||
self.clear_masters()
|
||||
|
||||
if self.package_found:
|
||||
|
||||
if self.match and [""] != self.slackbuilds:
|
||||
self.msg.matching(self.slackbuilds)
|
||||
|
||||
else:
|
||||
print("\nThe following packages will be automatically "
|
||||
"installed or upgraded \nwith new version:\n")
|
||||
|
@ -150,6 +158,7 @@ class SBoInstall(BlackList, Utils):
|
|||
|
||||
count_total = sum([self.count_ins, self.count_upg,
|
||||
self.count_uni])
|
||||
|
||||
if self.match and [""] != self.slackbuilds:
|
||||
print("\nMatching summary")
|
||||
print("=" * 79)
|
||||
|
@ -164,6 +173,7 @@ class SBoInstall(BlackList, Utils):
|
|||
f"{self.count_upg} {self.msg.pkg(self.count_upg)}")
|
||||
print(f"will be upgraded.{self.endc}\n")
|
||||
self.continue_to_install()
|
||||
|
||||
else:
|
||||
self.msg.not_found(self.is_upgrade)
|
||||
raise SystemExit()
|
||||
|
@ -174,9 +184,12 @@ class SBoInstall(BlackList, Utils):
|
|||
"""
|
||||
if "--case-ins" in self.flag:
|
||||
data_dict = self.case_sensitive(self.data)
|
||||
|
||||
for name in self.slackbuilds:
|
||||
index = self.slackbuilds.index(name)
|
||||
|
||||
for key, value in data_dict.items():
|
||||
|
||||
if key == name.lower():
|
||||
self.slackbuilds[index] = value
|
||||
|
||||
|
@ -195,8 +208,10 @@ class SBoInstall(BlackList, Utils):
|
|||
"""
|
||||
if (self.count_uni > 0 or self.count_upg > 0 or
|
||||
"--download-only" in self.flag or "--rebuild" in self.flag):
|
||||
|
||||
if self.master_packages and self.msg.answer() in ["y", "Y"]:
|
||||
installs, upgraded = self.build_install()
|
||||
|
||||
if "--download-only" in self.flag:
|
||||
raise SystemExit()
|
||||
self.msg.reference(installs, upgraded)
|
||||
|
@ -215,6 +230,7 @@ class SBoInstall(BlackList, Utils):
|
|||
"""
|
||||
self.master_packages = self.remove_dbs(self.master_packages)
|
||||
for mas in self.master_packages:
|
||||
|
||||
if mas in self.dependencies:
|
||||
self.master_packages.remove(mas)
|
||||
|
||||
|
@ -222,7 +238,9 @@ class SBoInstall(BlackList, Utils):
|
|||
"""Return found matching SBo packages
|
||||
"""
|
||||
for sbo in self.package_not_found:
|
||||
|
||||
for pkg in self.data:
|
||||
|
||||
if sbo in pkg and pkg not in self.blacklist:
|
||||
self.package_found.append(pkg)
|
||||
|
||||
|
@ -230,10 +248,12 @@ class SBoInstall(BlackList, Utils):
|
|||
"""Create sbo name with version
|
||||
"""
|
||||
sbo_versions, sources = [], []
|
||||
|
||||
for sbo in slackbuilds:
|
||||
sbo_ver = f"{sbo}-{SBoGrep(sbo).version()}"
|
||||
sbo_versions.append(sbo_ver)
|
||||
sources.append(SBoGrep(sbo).source())
|
||||
|
||||
return [sbo_versions, sources]
|
||||
|
||||
def one_for_all(self, deps):
|
||||
|
@ -248,18 +268,21 @@ class SBoInstall(BlackList, Utils):
|
|||
# dependencies in order to be installed.
|
||||
requires = self.dimensional_list(deps)
|
||||
dependencies = self.remove_dbs(requires)
|
||||
|
||||
return dependencies
|
||||
|
||||
def top_view(self):
|
||||
"""View top template
|
||||
"""
|
||||
self.msg.template(78)
|
||||
|
||||
print(f"| Packages{' ' * 16}"
|
||||
f"New version{' ' * 8}"
|
||||
f"Arch{' ' * 4}"
|
||||
f"Build{' ' * 2}"
|
||||
f"Repos{' ' * 10}"
|
||||
f"Size")
|
||||
|
||||
self.msg.template(78)
|
||||
|
||||
def view_packages(self, *args):
|
||||
|
@ -270,8 +293,10 @@ class SBoInstall(BlackList, Utils):
|
|||
args[3] arch
|
||||
"""
|
||||
ver = GetFromInstalled(args[1]).version()
|
||||
|
||||
if ver:
|
||||
ver = f"-{ver}"
|
||||
|
||||
print(f" {args[0]}{args[1] + ver} {self.endc}"
|
||||
f"{' ' * (24-len(args[1] + ver))}{args[2]}"
|
||||
f"{' ' * (18-len(args[2]))} {args[3]}"
|
||||
|
@ -286,17 +311,22 @@ class SBoInstall(BlackList, Utils):
|
|||
# split sbo name with version and get name
|
||||
sbo_name = "-".join(sbo.split("-")[:-1])
|
||||
find = GetFromInstalled(sbo_name).name()
|
||||
|
||||
if find_package(sbo, self.meta.pkg_path):
|
||||
paint = self.meta.color["GREEN"]
|
||||
self.count_ins += 1
|
||||
|
||||
if "--rebuild" in self.flag:
|
||||
self.count_upg += 1
|
||||
|
||||
elif sbo_name == find:
|
||||
paint = self.meta.color["YELLOW"]
|
||||
self.count_upg += 1
|
||||
|
||||
else:
|
||||
paint = self.meta.color["RED"]
|
||||
self.count_uni += 1
|
||||
|
||||
return paint
|
||||
|
||||
def select_arch(self, src):
|
||||
|
@ -304,9 +334,11 @@ class SBoInstall(BlackList, Utils):
|
|||
from arch else select arch.
|
||||
"""
|
||||
arch = self.arch
|
||||
|
||||
for item in self.unst:
|
||||
if item in src:
|
||||
arch = item
|
||||
|
||||
return arch
|
||||
|
||||
def filenames(self, sources):
|
||||
|
@ -320,56 +352,72 @@ class SBoInstall(BlackList, Utils):
|
|||
"""
|
||||
slackbuilds = self.dependencies + self.master_packages
|
||||
installs, upgraded, = [], []
|
||||
|
||||
if not os.path.exists(self.build_folder):
|
||||
os.makedirs(self.build_folder)
|
||||
|
||||
if not os.path.exists(self._SOURCES):
|
||||
os.makedirs(self._SOURCES)
|
||||
|
||||
os.chdir(self.build_folder)
|
||||
|
||||
for prgnam in slackbuilds:
|
||||
|
||||
if (self.meta.not_downgrade == "on" and
|
||||
self.not_downgrade(prgnam) is True):
|
||||
continue
|
||||
|
||||
pkg = "-".join(prgnam.split("-")[:-1])
|
||||
installed = "".join(find_package(prgnam, self.meta.pkg_path))
|
||||
src_link = SBoGrep(pkg).source().split()
|
||||
|
||||
if (installed and "--download-only" not in self.flag and
|
||||
"--rebuild" not in self.flag):
|
||||
self.msg.template(78)
|
||||
self.msg.pkg_found(prgnam)
|
||||
self.msg.template(78)
|
||||
|
||||
elif self.unst[0] in src_link or self.unst[1] in src_link:
|
||||
self.msg.template(78)
|
||||
print(f"| Package {prgnam} {self.red}"
|
||||
f"{''.join(src_link)}{self.endc}")
|
||||
self.msg.template(78)
|
||||
|
||||
else:
|
||||
sbo_url = sbo_search_pkg(pkg)
|
||||
sbo_link = SBoLink(sbo_url).tar_gz()
|
||||
script = sbo_link.split("/")[-1]
|
||||
|
||||
if self.meta.sbosrcarch in ["on", "ON"]:
|
||||
src_link = list(self.sbosrcarsh(prgnam, sbo_link,
|
||||
src_link))
|
||||
Download(self.build_folder, sbo_link.split(),
|
||||
repo="sbo").start()
|
||||
Download(self._SOURCES, src_link, repo="sbo").start()
|
||||
|
||||
if "--download-only" in self.flag:
|
||||
continue
|
||||
sources = list(self.filenames(src_link))
|
||||
BuildPackage(script, sources, self.build_folder,
|
||||
auto=False).build()
|
||||
binary = slack_package(prgnam)
|
||||
|
||||
if os.path.isfile("".join(binary)):
|
||||
|
||||
if GetFromInstalled(pkg).name() == pkg:
|
||||
print(f"[ {self.yellow}Upgrading{self.endc} ] --> "
|
||||
f"{prgnam}")
|
||||
upgraded.append(prgnam)
|
||||
|
||||
else:
|
||||
print(f"[ {self.green}Installing{self.endc} ] --> "
|
||||
f"{prgnam}")
|
||||
installs.append(prgnam)
|
||||
|
||||
if ("--rebuild" in self.flag and
|
||||
GetFromInstalled(pkg).name() == pkg):
|
||||
PackageManager(binary).upgrade(flag="--reinstall")
|
||||
|
||||
else:
|
||||
PackageManager(binary).upgrade(flag="--install-new")
|
||||
return installs, upgraded
|
||||
|
@ -380,8 +428,10 @@ class SBoInstall(BlackList, Utils):
|
|||
name = "-".join(prgnam.split("-")[:-1])
|
||||
sbo_ver = prgnam.split("-")[-1]
|
||||
ins_ver = GetFromInstalled(name).version()
|
||||
|
||||
if not ins_ver:
|
||||
ins_ver = "0"
|
||||
|
||||
if parse_version(sbo_ver) < parse_version(ins_ver):
|
||||
self.msg.template(78)
|
||||
print(f"| Package {name} does not downgrade, "
|
||||
|
@ -393,6 +443,7 @@ class SBoInstall(BlackList, Utils):
|
|||
"""Alternative repository for sbo sources"""
|
||||
name = "-".join(prgnam.split("-")[:-1])
|
||||
category = f"{sbo_link.split('/')[-2]}/{name}/"
|
||||
|
||||
for link in src_link:
|
||||
source = link.split("/")[-1]
|
||||
yield f"{self.meta.sbosrcarch_link}{category}{source}"
|
||||
|
|
Loading…
Reference in a new issue