mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-02-10 20:48:40 +01:00
Updated for tracking
This commit is contained in:
parent
8aa8cd662a
commit
2ce3490f5e
2 changed files with 55 additions and 37 deletions
|
@ -755,8 +755,8 @@ class Argparse(Configs):
|
||||||
|
|
||||||
self.check.package_exists_in_the_database(packages)
|
self.check.package_exists_in_the_database(packages)
|
||||||
|
|
||||||
tracking = Tracking(self.flags, self.repository)
|
tracking = Tracking(self.data, packages, self.flags, self.repository)
|
||||||
tracking.packages(self.data, packages)
|
tracking.package()
|
||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
self.usage.help_short(1)
|
self.usage.help_short(1)
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,12 @@ from slpkg.utilities import Utilities
|
||||||
class Tracking(Configs):
|
class Tracking(Configs):
|
||||||
""" Tracking of the package dependencies. """
|
""" Tracking of the package dependencies. """
|
||||||
|
|
||||||
def __init__(self, flags: list, repository: str):
|
def __init__(self, data: dict, packages: list, flags: list, repository: str):
|
||||||
super(Configs, self).__init__()
|
super(Configs, self).__init__()
|
||||||
|
self.data: dict = data
|
||||||
|
self.packages: list = packages
|
||||||
self.flags: list = flags
|
self.flags: list = flags
|
||||||
|
self.repository = repository
|
||||||
|
|
||||||
self.ascii = Ascii()
|
self.ascii = Ascii()
|
||||||
self.utils = Utilities()
|
self.utils = Utilities()
|
||||||
|
@ -25,53 +28,68 @@ class Tracking(Configs):
|
||||||
self.option_for_pkg_version: bool = self.utils.is_option(
|
self.option_for_pkg_version: bool = self.utils.is_option(
|
||||||
['-p', '--pkg-version'], flags)
|
['-p', '--pkg-version'], flags)
|
||||||
|
|
||||||
def packages(self, data: dict, packages: list) -> None:
|
def package(self) -> None:
|
||||||
""" Prints the packages dependencies. """
|
""" Prints the packages dependencies. """
|
||||||
print(f"The list below shows the packages '{', '.join([p for p in packages])}' with dependencies:\n")
|
print(f"The list below shows the packages '{', '.join([p for p in self.packages])}' with dependencies:\n")
|
||||||
|
packages: tuple = tuple(self.utils.apply_package_pattern(self.data, self.packages))
|
||||||
packages: list = self.utils.apply_package_pattern(data, packages)
|
|
||||||
|
|
||||||
char: str = f' {self.llc}{self.hl}'
|
|
||||||
sp: str = ' ' * 4
|
|
||||||
|
|
||||||
for package in packages:
|
for package in packages:
|
||||||
how_many: int = 0
|
count: int = 0
|
||||||
pkg: str = f'{self.yellow}{package}{self.endc}'
|
pkg: str = f'{self.yellow}{package}{self.endc}'
|
||||||
|
|
||||||
if self.option_for_pkg_version:
|
if self.option_for_pkg_version:
|
||||||
if self.is_binary:
|
pkg = f'{self.yellow}{package} {self.choose_package_version(package)}{self.endc}'
|
||||||
version: str = data[package][0]
|
|
||||||
else:
|
|
||||||
version: str = data[package][2]
|
|
||||||
pkg = f'{self.yellow}{package} {version}{self.endc}'
|
|
||||||
|
|
||||||
if self.is_binary:
|
requires: tuple = self.choose_requires(package)
|
||||||
requires: list = data[package][6].split()
|
|
||||||
else:
|
|
||||||
requires: list = data[package][7].split()
|
|
||||||
|
|
||||||
print(pkg)
|
print(pkg)
|
||||||
print(char, end='')
|
print(f"{'':>1}{self.llc}{self.hl}", end='')
|
||||||
|
|
||||||
if not requires:
|
if not requires:
|
||||||
print(f' {self.cyan}No dependencies{self.endc}')
|
print(f"{'':>1}{self.cyan}No dependencies{self.endc}")
|
||||||
else:
|
else:
|
||||||
for i, req in enumerate(requires, start=1):
|
for n, req in enumerate(requires, start=1):
|
||||||
how_many += 1
|
count += 1
|
||||||
require: str = f'{self.cyan}{req}{self.endc}'
|
require: str = f'{self.cyan}{req}{self.endc}'
|
||||||
|
|
||||||
if self.option_for_pkg_version:
|
if self.option_for_pkg_version:
|
||||||
if self.is_binary:
|
require: str = (f'{self.cyan}{req}{self.endc}'
|
||||||
version: str = ' (not included)'
|
f'{self.choose_dependency_version(req)}')
|
||||||
if data.get(req):
|
|
||||||
version: str = f' {self.yellow}{data[req][0]}{self.endc}'
|
|
||||||
else:
|
|
||||||
version: str = f' {self.yellow}{data[req][2]}{self.endc}'
|
|
||||||
require: str = f'{self.cyan}{req}{self.endc}{version}'
|
|
||||||
|
|
||||||
if i == 1:
|
self.print_require(n, require)
|
||||||
print(f' {require}')
|
self.summary_of_tracking(count, package)
|
||||||
else:
|
|
||||||
print(f'{sp}{require}')
|
|
||||||
|
|
||||||
print(f'\n{self.grey}{how_many} dependencies for {package}{self.endc}\n')
|
def summary_of_tracking(self, count: int, package: str):
|
||||||
|
print(f'\n{self.grey}{count} dependencies for {package}{self.endc}\n')
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def print_require(n: int, require: str) -> None:
|
||||||
|
if n == 1:
|
||||||
|
print(f"{'':>1}{require}")
|
||||||
|
else:
|
||||||
|
print(f"{'':>4}{require}")
|
||||||
|
|
||||||
|
def choose_dependency_version(self, require: str) -> str:
|
||||||
|
try:
|
||||||
|
if self.is_binary:
|
||||||
|
version: str = f"{'':>1}(not included)"
|
||||||
|
if self.data.get(require):
|
||||||
|
version: str = f"{'':>1}{self.yellow}{self.data[require][0]}{self.endc}"
|
||||||
|
else:
|
||||||
|
version: str = f"{'':>1}{self.yellow}{self.data[require][2]}{self.endc}"
|
||||||
|
except KeyError:
|
||||||
|
version: str = ''
|
||||||
|
return version
|
||||||
|
|
||||||
|
def choose_package_version(self, package: str) -> str:
|
||||||
|
if self.is_binary:
|
||||||
|
version: str = self.data[package][0]
|
||||||
|
else:
|
||||||
|
version: str = self.data[package][2]
|
||||||
|
return version
|
||||||
|
|
||||||
|
def choose_requires(self, package: str) -> tuple:
|
||||||
|
if self.is_binary:
|
||||||
|
requires: tuple = self.data[package][6].split()
|
||||||
|
else:
|
||||||
|
requires: tuple = self.data[package][7].split()
|
||||||
|
return requires
|
||||||
|
|
Loading…
Add table
Reference in a new issue