Merged is_installed method

Signed-off-by: Dimitris Zlatanidis <d.zlatanidis@gmail.com>
This commit is contained in:
Dimitris Zlatanidis 2022-12-09 19:45:36 +02:00
parent 80afbdcd42
commit 01454c8093
4 changed files with 29 additions and 21 deletions

View file

@ -1,3 +1,7 @@
4.3.7 - 09/12/2022
Updated:
- Merge method is_installed in utilities
4.3.6 - 08/12/2022 4.3.6 - 08/12/2022
Fixed: Fixed:
- Remove packages - Remove packages

View file

@ -6,6 +6,7 @@ import os
from slpkg.configs import Configs from slpkg.configs import Configs
from slpkg.queries import SBoQueries from slpkg.queries import SBoQueries
from slpkg.blacklist import Blacklist from slpkg.blacklist import Blacklist
from slpkg.utilities import Utilities
class Check: class Check:
@ -36,15 +37,14 @@ class Check:
if 'UNSUPPORTED' in sources: if 'UNSUPPORTED' in sources:
raise SystemExit(f"\nPackage '{sbo}' unsupported by arch.\n") raise SystemExit(f"\nPackage '{sbo}' unsupported by arch.\n")
def installed(self, slackbuilds: list): @staticmethod
def installed(slackbuilds: list):
""" Checking for installed packages. """ """ Checking for installed packages. """
found, not_found = [], [] found, not_found = [], []
utils = Utilities()
for sbo in slackbuilds: for sbo in slackbuilds:
for package in os.listdir(self.configs.log_packages): found.append((utils.is_installed(sbo)))
pkg = '-'.join(package.split('-')[:-3])
if sbo == pkg and package.endswith(self.configs.sbo_repo_tag):
found.append(sbo)
for sbo in slackbuilds: for sbo in slackbuilds:
if sbo not in found: if sbo not in found:

View file

@ -8,17 +8,20 @@ import tarfile
from slpkg.configs import Configs from slpkg.configs import Configs
from slpkg.blacklist import Blacklist
class Utilities: class Utilities:
def __init__(self): def __init__(self):
self.configs = Configs self.configs = Configs
self.black = Blacklist()
def is_installed(self, package: str): def is_installed(self, name: str):
""" Returns True if a package is installed. """ """ Returns the installed package name. """
for pkg in os.listdir(self.configs.log_packages): for package in os.listdir(self.configs.log_packages):
if package in pkg: pkg = '-'.join(package.split('-')[:-3])
if pkg == name and self.configs.sbo_repo_tag in package and pkg not in self.black.get():
return pkg return pkg
@staticmethod @staticmethod

View file

@ -68,7 +68,7 @@ class ViewMessage:
print('The following packages will be removed:\n') print('The following packages will be removed:\n')
slackbuilds, dependencies, deps = [], [], [] slackbuilds, dependencies, deps = [], [], []
for pkg in packages: for pkg in packages:
self._view_installed_packages(pkg) self._view_removed(pkg)
slackbuilds.append(pkg) slackbuilds.append(pkg)
requires = self.session.query( requires = self.session.query(
@ -83,7 +83,7 @@ class ViewMessage:
for i in range(0, len(deps)): for i in range(0, len(deps)):
for dep in deps[i][0].split(): for dep in deps[i][0].split():
self._view_installed_packages(dep) self._view_removed(dep)
dependencies.append(dep) dependencies.append(dep)
self._view_total(slackbuilds, dependencies, option='remove') self._view_total(slackbuilds, dependencies, option='remove')
@ -94,7 +94,7 @@ class ViewMessage:
""" View packages for download only. """ """ View packages for download only. """
color = self.colors() color = self.colors()
if self.utils.is_installed(f'{sbo}-'): if self.utils.is_installed(sbo):
print(f'[{color["yellow"]} download {color["endc"]}] -> ' print(f'[{color["yellow"]} download {color["endc"]}] -> '
f'{sbo}-{version}') f'{sbo}-{version}')
else: else:
@ -105,7 +105,7 @@ class ViewMessage:
""" View packages for build. """ """ View packages for build. """
color = self.colors() color = self.colors()
if self.utils.is_installed(f'{sbo}-'): if self.utils.is_installed(sbo):
print(f'[{color["yellow"]} build {color["endc"]}] -> ' print(f'[{color["yellow"]} build {color["endc"]}] -> '
f'{sbo}-{version}') f'{sbo}-{version}')
else: else:
@ -116,7 +116,7 @@ class ViewMessage:
""" View the packages for install. """ """ View the packages for install. """
color = self.colors() color = self.colors()
installed = self.utils.is_installed(f'{sbo}-') installed = self.utils.is_installed(sbo)
install, set_color = 'install', color['red'] install, set_color = 'install', color['red']
if '--reinstall' in self.flags: if '--reinstall' in self.flags:
@ -138,14 +138,15 @@ class ViewMessage:
print(f'[{color["cyan"]} install {color["endc"]}] -> ' print(f'[{color["cyan"]} install {color["endc"]}] -> '
f'{sbo}-{version}') f'{sbo}-{version}')
def _view_installed_packages(self, name: str): def _view_removed(self, name: str):
""" View and creates list with packages for remove. """ """ View and creates list with packages for remove. """
installed = os.listdir(self.configs.log_packages) installed = os.listdir(self.configs.log_packages)
color = self.colors() color = self.colors()
if self.utils.is_installed(name):
for package in installed: for package in installed:
pkg = '-'.join(package.split('-')[:-3]) pkg = '-'.join(package.split('-')[:-3])
if pkg == name and self.configs.sbo_repo_tag in package and pkg not in self.black.get(): if pkg == name:
self.installed_packages.append(package) self.installed_packages.append(package)
print(f'[{color["red"]} delete {color["endc"]}] -> {package}') print(f'[{color["red"]} delete {color["endc"]}] -> {package}')
@ -157,7 +158,7 @@ class ViewMessage:
installed = upgraded = 0 installed = upgraded = 0
for sbo in slackbuilds: for sbo in slackbuilds:
if self.utils.is_installed(f'{sbo}-'): if self.utils.is_installed(sbo):
upgraded += 1 upgraded += 1
else: else:
installed += 1 installed += 1