mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-02-11 20:48:11 +01:00
Added dialog for remove dependencies
This commit is contained in:
parent
36dda5a7de
commit
a07afc46df
2 changed files with 36 additions and 6 deletions
|
@ -1,7 +1,6 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from slpkg.configs import Configs
|
from slpkg.configs import Configs
|
||||||
|
|
|
@ -7,6 +7,7 @@ from slpkg.configs import Configs
|
||||||
from slpkg.queries import SBoQueries
|
from slpkg.queries import SBoQueries
|
||||||
from slpkg.utilities import Utilities
|
from slpkg.utilities import Utilities
|
||||||
from slpkg.blacklist import Blacklist
|
from slpkg.blacklist import Blacklist
|
||||||
|
from slpkg.dialog_box import DialogBox
|
||||||
from slpkg.models.models import LogsDependencies
|
from slpkg.models.models import LogsDependencies
|
||||||
from slpkg.models.models import session as Session
|
from slpkg.models.models import session as Session
|
||||||
|
|
||||||
|
@ -21,6 +22,7 @@ class ViewMessage:
|
||||||
self.session = Session
|
self.session = Session
|
||||||
self.utils = Utilities()
|
self.utils = Utilities()
|
||||||
self.black = Blacklist()
|
self.black = Blacklist()
|
||||||
|
self.dialog = DialogBox()
|
||||||
self.installed_packages = []
|
self.installed_packages = []
|
||||||
|
|
||||||
def build_packages(self, slackbuilds: list, dependencies: list):
|
def build_packages(self, slackbuilds: list, dependencies: list):
|
||||||
|
@ -68,7 +70,6 @@ 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_removed(pkg)
|
|
||||||
slackbuilds.append(pkg)
|
slackbuilds.append(pkg)
|
||||||
|
|
||||||
requires = self.session.query(
|
requires = self.session.query(
|
||||||
|
@ -78,18 +79,48 @@ class ViewMessage:
|
||||||
if requires:
|
if requires:
|
||||||
deps.append(requires)
|
deps.append(requires)
|
||||||
|
|
||||||
|
for i in range(0, len(deps)):
|
||||||
|
for dep in deps[i][0].split():
|
||||||
|
dependencies.append(dep)
|
||||||
|
|
||||||
|
if deps and '--resolve-off' not in self.flags:
|
||||||
|
dependencies = self.choose_dependencies_for_remove(dependencies)
|
||||||
|
|
||||||
|
for pkg in slackbuilds:
|
||||||
|
self._view_removed(pkg)
|
||||||
|
|
||||||
if deps and '--resolve-off' not in self.flags:
|
if deps and '--resolve-off' not in self.flags:
|
||||||
print('\nDependencies:')
|
print('\nDependencies:')
|
||||||
|
|
||||||
for i in range(0, len(deps)):
|
for pkg in dependencies:
|
||||||
for dep in deps[i][0].split():
|
self._view_removed(pkg)
|
||||||
self._view_removed(dep)
|
|
||||||
dependencies.append(dep)
|
|
||||||
|
|
||||||
self._view_total(slackbuilds, dependencies, option='remove')
|
self._view_total(slackbuilds, dependencies, option='remove')
|
||||||
|
|
||||||
return self.installed_packages, dependencies
|
return self.installed_packages, dependencies
|
||||||
|
|
||||||
|
def choose_dependencies_for_remove(self, dependencies):
|
||||||
|
""" Choose packages for upgrade. """
|
||||||
|
height = 10
|
||||||
|
width = 70
|
||||||
|
list_height = 0
|
||||||
|
choices = []
|
||||||
|
title = " Uncheck dependencies if you don't want to remove "
|
||||||
|
|
||||||
|
for package in dependencies:
|
||||||
|
repo_ver = SBoQueries(package).version()
|
||||||
|
choices += [(package, repo_ver, True)]
|
||||||
|
|
||||||
|
text = f'There are {len(choices)} dependencies:'
|
||||||
|
|
||||||
|
code, tags = self.dialog.checklist(text, title, height, width, list_height, choices, dependencies)
|
||||||
|
|
||||||
|
if not code:
|
||||||
|
return dependencies
|
||||||
|
|
||||||
|
os.system('clear')
|
||||||
|
return tags
|
||||||
|
|
||||||
def _view_download(self, sbo: str, version: str):
|
def _view_download(self, sbo: str, version: str):
|
||||||
""" View packages for download only. """
|
""" View packages for download only. """
|
||||||
color = self.colors()
|
color = self.colors()
|
||||||
|
|
Loading…
Add table
Reference in a new issue