Added for binary install

This commit is contained in:
Dimitris Zlatanidis 2023-03-25 17:28:37 +02:00
parent 0f84247227
commit f23e9a0bcb

View file

@ -2,24 +2,57 @@
# -*- coding: utf-8 -*-
from slpkg.configs import Configs
from slpkg.utilities import Utilities
from slpkg.downloader import Downloader
from slpkg.views.views import ViewMessage
from slpkg.repositories import Repositories
from slpkg.binaries.queries import BinsQueries
class Packages(Configs):
""" Download build and install the SlackBuilds. """
def __init__(self, packages: list, flags: list, file_pattern, mode: str):
def __init__(self, packages: list, flags: list, file_pattern: str, repo: str, mode: str):
super(Configs, self).__init__()
self.packages: list = packages
self.flags: list = flags
self.file_pattern: str = file_pattern
self.repo: str = repo
self.mode: str = mode
self.utils = Utilities()
self.repos = Repositories()
self.view_message = ViewMessage(self.flags)
self.binary_packages: list = []
self.flag_binary: list = ['-B', '--binary']
def execute(self):
self.view_message.install_packages(self.packages, [], self.mode)
self.view_message.install_packages(self.packages, self.mode)
self.view_message.question()
self.download()
self.install_packages()
def download(self):
""" Download packages from the repositories. """
pkg_urls: list = []
for pkg in self.packages:
mirror: str = BinsQueries(pkg).mirror()
location: str = BinsQueries(pkg).location()
package: str = BinsQueries(pkg).package_bin()
pkg_urls.append(f'{mirror}{location}/{package}')
self.binary_packages.append(package)
self.utils.remove_file_if_exists(self.tmp_slpkg, package)
down = Downloader(self.tmp_slpkg, pkg_urls, self.flags)
down.download()
self.install_packages()
def install_packages(self):
""" Install the packages. """
for package in self.binary_packages:
command: str = f'{self.installpkg} {self.tmp_slpkg}/{package}'
self.utils.process(command)