mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-02-06 08:46:21 +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
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
import subprocess
|
||||
|
||||
from slpkg.configs import Configs
|
||||
|
|
|
@ -7,6 +7,7 @@ from slpkg.configs import Configs
|
|||
from slpkg.queries import SBoQueries
|
||||
from slpkg.utilities import Utilities
|
||||
from slpkg.blacklist import Blacklist
|
||||
from slpkg.dialog_box import DialogBox
|
||||
from slpkg.models.models import LogsDependencies
|
||||
from slpkg.models.models import session as Session
|
||||
|
||||
|
@ -21,6 +22,7 @@ class ViewMessage:
|
|||
self.session = Session
|
||||
self.utils = Utilities()
|
||||
self.black = Blacklist()
|
||||
self.dialog = DialogBox()
|
||||
self.installed_packages = []
|
||||
|
||||
def build_packages(self, slackbuilds: list, dependencies: list):
|
||||
|
@ -68,7 +70,6 @@ class ViewMessage:
|
|||
print('The following packages will be removed:\n')
|
||||
slackbuilds, dependencies, deps = [], [], []
|
||||
for pkg in packages:
|
||||
self._view_removed(pkg)
|
||||
slackbuilds.append(pkg)
|
||||
|
||||
requires = self.session.query(
|
||||
|
@ -78,18 +79,48 @@ class ViewMessage:
|
|||
if 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:
|
||||
print('\nDependencies:')
|
||||
|
||||
for i in range(0, len(deps)):
|
||||
for dep in deps[i][0].split():
|
||||
self._view_removed(dep)
|
||||
dependencies.append(dep)
|
||||
for pkg in dependencies:
|
||||
self._view_removed(pkg)
|
||||
|
||||
self._view_total(slackbuilds, dependencies, option='remove')
|
||||
|
||||
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):
|
||||
""" View packages for download only. """
|
||||
color = self.colors()
|
||||
|
|
Loading…
Add table
Reference in a new issue