From 64305bbfb52ce64115a59c10ebc7510fbb5efe23 Mon Sep 17 00:00:00 2001 From: Dimitris Zlatanidis Date: Thu, 14 Mar 2024 18:15:34 +0200 Subject: [PATCH] Remove sql install --- slpkg/install_data.py | 1040 +++++++++++++++++++++++------------------ 1 file changed, 591 insertions(+), 449 deletions(-) diff --git a/slpkg/install_data.py b/slpkg/install_data.py index 117379f1..fe6480f8 100644 --- a/slpkg/install_data.py +++ b/slpkg/install_data.py @@ -2,40 +2,53 @@ # -*- coding: utf-8 -*- import re +import json from pathlib import Path from slpkg.configs import Configs from slpkg.utilities import Utilities from slpkg.views.asciibox import AsciiBox from slpkg.repositories import Repositories -from slpkg.models.models import session as Session -from slpkg.models.models import (SBoTable, PonceTable, - BinariesTable, LastRepoUpdated) class InstallData(Configs): def __init__(self): super(Configs, self).__init__() - self.session = Session self.utils = Utilities() self.repos = Repositories() self.ascii = AsciiBox() - def last_updated(self, changelog_file: Path) -> str: + def write_last_update(self, changelog_file: Path, repo: str) -> None: """ Reads the first date of the changelog file.""" + last_date: str = '' + last_update_json: dict = {} lines: list = self.utils.read_text_file(changelog_file) days = ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun') for line in lines: if line.startswith(days): - return line.replace('\n', '') + last_date: str = line.replace('\n', '') + break + + last_update_json[repo]: dict = last_date + if self.repos.last_update_json.is_file(): + last_update_json: dict = json.loads(self.repos.last_update_json.read_text(encoding='utf-8')) + last_update_json[repo] = last_date + + self.repos.last_update_json.write_text(json.dumps(last_update_json, indent=4)) def view_done_message(self) -> None: - print(f'{self.yellow}{self.ascii.done}{self.endc}\n') + print(f'{self.yellow}{self.ascii.done}{self.endc}') def install_sbo_data(self) -> None: - """ Install the data for SBo repository. """ - sbo_tags = [ + """ + Reads the SLACKBUILDS.TXT FILE and creates a json data file. + Returns: + None. + """ + data: dict = {} + cache: list = [] + sbo_tags: list = [ 'SLACKBUILD NAME:', 'SLACKBUILD LOCATION:', 'SLACKBUILD FILES:', @@ -48,43 +61,69 @@ class InstallData(Configs): 'SLACKBUILD SHORT DESCRIPTION:' ] - path_slackbuilds: Path = Path(self.repos.sbo_repo_path, self.repos.sbo_repo_slackbuilds) - path_changelog: Path = Path(self.repos.sbo_repo_path, self.repos.sbo_repo_changelog) - slackbuilds_txt: list = self.utils.read_text_file(path_slackbuilds) - - cache: list = [] # init cache - - print(f"Updating the database for '{self.cyan}{self.repos.sbo_repo_name}{self.endc}'... ", end='', flush=True) + slackbuilds_txt: list = Path(self.repos.sbo_repo_path, + self.repos.sbo_repo_slackbuilds).read_text(encoding='utf-8').splitlines() for i, line in enumerate(slackbuilds_txt, 1): - for tag in sbo_tags: if line.startswith(tag): line = line.replace(tag, '').strip() cache.append(line) if (i % 11) == 0: - data: str = SBoTable(name=cache[0], location=cache[1].split('/')[1], - files=cache[2], version=cache[3], - download=cache[4], download64=cache[5], - md5sum=cache[6], md5sum64=cache[7], - requires=cache[8].replace('%README%', ''), - short_description=cache[9]) - self.session.add(data) + build: str = '' + name: str = cache[0] + version: str = cache[3] + location: str = cache[1].split('/')[1] + requires: list = cache[8].replace('%README%', '').split() + + data[name]: dict = { + 'location': location, + 'files': cache[2].split(), + 'version': version, + 'download': cache[4].split(), + 'download64': cache[5].split(), + 'md5sum': cache[6].split(), + 'md5sum64': cache[7].split(), + 'requires': requires, + 'description': cache[9] + } + + arch: str = self.os_arch + sbo_file: Path = Path(self.repos.sbo_repo_path, location, name, f'{name}.SlackBuild') + if sbo_file.is_file(): + slackbuild = sbo_file.read_text(encoding='utf-8').splitlines() + for sbo_line in slackbuild: + if sbo_line.startswith('BUILD=$'): + build: str = ''.join(re.findall(r'\d+', sbo_line)) + if sbo_line.startswith('ARCH=noarch'): + arch: str = 'noarch' + + data[name].update({'arch': arch}) + data[name].update({'build': build}) + package: str = f'{name}-{version}-{arch}-{build}{self.repos.sbo_repo_tag}.tgz' + data[name].update({'package': package}) cache: list = [] # reset cache after 11 lines - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.sbo_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.sbo_repo_path, self.repos.sbo_repo_changelog) + self.write_last_update(path_changelog, self.repos.sbo_repo_name) + + data_file: Path = Path(self.repos.sbo_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() def install_ponce_data(self) -> None: - """ Install the data for SBo repository. """ + """ + Reads the SLACKBUILDS.TXT FILE and creates a json data file. + Returns: + None. + """ + data: dict = {} + cache: list = [] names: list = [] - sbo_tags = [ + sbo_tags: list = [ 'SLACKBUILD NAME:', 'SLACKBUILD LOCATION:', 'SLACKBUILD FILES:', @@ -97,40 +136,60 @@ class InstallData(Configs): 'SLACKBUILD SHORT DESCRIPTION:' ] - path_slackbuilds = Path(self.repos.ponce_repo_path, self.repos.ponce_repo_slackbuilds) - path_changelog: Path = Path(self.repos.ponce_repo_path, self.repos.ponce_repo_changelog) - slackbuilds_txt: list = self.utils.read_text_file(path_slackbuilds) + slackbuilds_txt: list = Path(self.repos.ponce_repo_path, + self.repos.ponce_repo_slackbuilds).read_text(encoding='utf-8').splitlines() for line in slackbuilds_txt: if line.startswith(sbo_tags[0]): names.append(line.replace(sbo_tags[0], '').strip()) - cache: list = [] # init cache - - print(f"Updating the database for '{self.cyan}{self.repos.ponce_repo_name}{self.endc}'... ", end='', flush=True) - for i, line in enumerate(slackbuilds_txt, 1): - for tag in sbo_tags: if line.startswith(tag): line = line.replace(tag, '').strip() cache.append(line) if (i % 11) == 0: - requires: str = ' '.join([item for item in cache[8].split() if item in names]) - data: str = PonceTable(name=cache[0], location=cache[1].split('/')[1], - files=cache[2], version=cache[3], - download=cache[4], download64=cache[5], - md5sum=cache[6], md5sum64=cache[7], - requires=requires, short_description=cache[9]) - self.session.add(data) + build: str = '' + name: str = cache[0] + version: str = cache[3] + location: str = cache[1].split('/')[1] + requires: list = [item for item in cache[8].split() if item in names] + + data[name]: dict = { + 'location': location, + 'files': cache[2].split(), + 'version': version, + 'download': cache[4].split(), + 'download64': cache[5].split(), + 'md5sum': cache[6].split(), + 'md5sum64': cache[7].split(), + 'requires': requires, + 'description': cache[9] + } + + arch: str = self.os_arch + sbo_file: Path = Path(self.repos.ponce_repo_path, location, name, f'{name}.SlackBuild') + if sbo_file.is_file(): + slackbuild = sbo_file.read_text(encoding='utf-8').splitlines() + for sbo_line in slackbuild: + if sbo_line.startswith('BUILD=$'): + build: str = ''.join(re.findall(r'\d+', sbo_line)) + if sbo_line.startswith('ARCH=noarch'): + arch: str = 'noarch' + + data[name].update({'arch': arch}) + data[name].update({'build': build}) + package: str = f'{name}-{version}-{arch}-{build}{self.repos.sbo_repo_tag}.tgz' + data[name].update({'package': package}) cache: list = [] # reset cache after 11 lines - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.ponce_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.ponce_repo_path, self.repos.ponce_repo_changelog) + self.write_last_update(path_changelog, self.repos.ponce_repo_name) + + data_file: Path = Path(self.repos.ponce_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -139,7 +198,11 @@ class InstallData(Configs): print(f"Updating the database for '{self.cyan}{self.repos.slack_repo_name}{self.endc}'... ", end='', flush=True) + data: dict = {} checksums_dict: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE MIRROR:', @@ -150,7 +213,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slack_repo_path, self.repos.slack_repo_packages) path_checksums: Path = Path(self.repos.slack_repo_path, self.repos.slack_repo_checksums) - path_changelog: Path = Path(self.repos.slack_repo_path, self.repos.slack_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -173,6 +235,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -197,30 +261,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.slack_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slack_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'build': build, + 'arch': arch, + 'requires': requires, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slack_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slack_repo_path, self.repos.slack_repo_changelog) + self.write_last_update(path_changelog, self.repos.slack_repo_name) + + data_file: Path = Path(self.repos.slack_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -230,6 +294,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE MIRROR:', @@ -240,7 +308,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slack_extra_repo_path, self.repos.slack_extra_repo_packages) path_checksums: Path = Path(self.repos.slack_extra_repo_path, self.repos.slack_extra_repo_checksums) - path_changelog: Path = Path(self.repos.slack_extra_repo_path, self.repos.slack_extra_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -263,6 +330,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -287,30 +356,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.slack_extra_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slack_extra_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'build': build, + 'arch': arch, + 'requires': requires, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slack_extra_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slack_extra_repo_path, self.repos.slack_extra_repo_changelog) + self.write_last_update(path_changelog, self.repos.slack_extra_repo_name) + + data_file: Path = Path(self.repos.slack_extra_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -320,6 +389,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE MIRROR:', @@ -330,7 +403,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slack_patches_repo_path, self.repos.slack_patches_repo_packages) path_checksums: Path = Path(self.repos.slack_patches_repo_path, self.repos.slack_patches_repo_checksums) - path_changelog: Path = Path(self.repos.slack_patches_repo_path, self.repos.slack_patches_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -353,6 +425,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -377,30 +451,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.slack_patches_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slack_patches_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'build': build, + 'arch': arch, + 'requires': requires, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slack_patches_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slack_patches_repo_path, self.repos.slack_patches_repo_changelog) + self.write_last_update(path_changelog, self.repos.slack_patches_repo_name) + + data_file: Path = Path(self.repos.slack_patches_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -410,6 +484,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -420,7 +497,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.alien_repo_path, self.repos.alien_repo_packages) path_checksums: Path = Path(self.repos.alien_repo_path, self.repos.alien_repo_checksums) - path_changelog: Path = Path(self.repos.alien_repo_path, self.repos.alien_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -444,6 +520,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -473,30 +551,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.alien_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.alien_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.alien_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.alien_repo_path, self.repos.alien_repo_changelog) + self.write_last_update(path_changelog, self.repos.alien_repo_name) + + data_file: Path = Path(self.repos.alien_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -506,6 +584,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -515,7 +597,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.multilib_repo_path, self.repos.multilib_repo_packages) path_checksums: Path = Path(self.repos.multilib_repo_path, self.repos.multilib_repo_checksums) - path_changelog: Path = Path(self.repos.multilib_repo_path, self.repos.multilib_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -539,6 +620,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) # package name cache.append(version) # package version cache.append(package) @@ -563,30 +646,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.multilib_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.multilib_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.multilib_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.multilib_repo_path, self.repos.multilib_repo_changelog) + self.write_last_update(path_changelog, self.repos.multilib_repo_name) + + data_file: Path = Path(self.repos.multilib_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -596,6 +679,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -605,7 +692,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.restricted_repo_path, self.repos.restricted_repo_packages) path_checksums: Path = Path(self.repos.restricted_repo_path, self.repos.restricted_repo_checksums) - path_changelog: Path = Path(self.repos.restricted_repo_path, self.repos.restricted_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -629,6 +715,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -653,30 +741,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.restricted_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.restricted_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.restricted_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.restricted_repo_path, self.repos.restricted_repo_changelog) + self.write_last_update(path_changelog, self.repos.restricted_repo_name) + + data_file: Path = Path(self.repos.restricted_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -686,6 +774,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE MIRROR:', @@ -696,7 +788,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.gnome_repo_path, self.repos.gnome_repo_packages) path_checksums: Path = Path(self.repos.gnome_repo_path, self.repos.gnome_repo_checksums) - path_changelog: Path = Path(self.repos.gnome_repo_path, self.repos.gnome_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -720,6 +811,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -744,30 +837,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.gnome_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.gnome_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.gnome_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.gnome_repo_path, self.repos.gnome_repo_changelog) + self.write_last_update(path_changelog, self.repos.gnome_repo_name) + + data_file: Path = Path(self.repos.gnome_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -777,6 +870,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -786,7 +883,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.msb_repo_path, self.repos.msb_repo_packages) path_checksums: Path = Path(self.repos.msb_repo_path, self.repos.msb_repo_checksums) - path_changelog: Path = Path(self.repos.msb_repo_path, self.repos.msb_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -810,6 +906,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -834,30 +932,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.msb_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.msb_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.msb_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.msb_repo_path, self.repos.msb_repo_changelog) + self.write_last_update(path_changelog, self.repos.msb_repo_name) + + data_file: Path = Path(self.repos.msb_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -867,6 +965,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -876,7 +978,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.csb_repo_path, self.repos.csb_repo_packages) path_checksums: Path = Path(self.repos.csb_repo_path, self.repos.csb_repo_checksums) - path_changelog: Path = Path(self.repos.csb_repo_path, self.repos.csb_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -900,6 +1001,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -924,30 +1027,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.csb_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.csb_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.csb_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.csb_repo_path, self.repos.csb_repo_changelog) + self.write_last_update(path_changelog, self.repos.csb_repo_name) + + data_file: Path = Path(self.repos.csb_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -957,6 +1060,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE MIRROR:', @@ -967,7 +1074,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.conraid_repo_path, self.repos.conraid_repo_packages) path_checksums: Path = Path(self.repos.conraid_repo_path, self.repos.conraid_repo_checksums) - path_changelog: Path = Path(self.repos.conraid_repo_path, self.repos.conraid_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -991,6 +1097,8 @@ class InstallData(Configs): package: str = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1015,30 +1123,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.conraid_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.conraid_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.conraid_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.conraid_repo_path, self.repos.conraid_repo_changelog) + self.write_last_update(path_changelog, self.repos.conraid_repo_name) + + data_file: Path = Path(self.repos.conraid_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1048,6 +1156,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1058,7 +1169,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slackdce_repo_path, self.repos.slackdce_repo_packages) path_checksums: Path = Path(self.repos.slackdce_repo_path, self.repos.slackdce_repo_checksums) - path_changelog: Path = Path(self.repos.slackdce_repo_path, self.repos.slackdce_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1082,6 +1192,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1111,30 +1223,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.slackdce_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slackdce_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slackdce_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slackdce_repo_path, self.repos.slackdce_repo_changelog) + self.write_last_update(path_changelog, self.repos.conraid_repo_name) + + data_file: Path = Path(self.repos.slackdce_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1144,6 +1256,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1154,7 +1269,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slackonly_repo_path, self.repos.slackonly_repo_packages) path_checksums: Path = Path(self.repos.slackonly_repo_path, self.repos.slackonly_repo_checksums) - path_changelog: Path = Path(self.repos.slackonly_repo_path, self.repos.slackonly_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1178,6 +1292,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1207,30 +1323,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.slackonly_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slackonly_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slackonly_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slackonly_repo_path, self.repos.slackonly_repo_changelog) + self.write_last_update(path_changelog, self.repos.slackonly_repo_name) + + data_file: Path = Path(self.repos.slackonly_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1240,6 +1356,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1250,7 +1369,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.salixos_repo_path, self.repos.salixos_repo_packages) path_checksums: Path = Path(self.repos.salixos_repo_path, self.repos.salixos_repo_checksums) - path_changelog: Path = Path(self.repos.salixos_repo_path, self.repos.salixos_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1274,6 +1392,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1311,30 +1431,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.salixos_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.salixos_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.salixos_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.salixos_repo_path, self.repos.salixos_repo_changelog) + self.write_last_update(path_changelog, self.repos.salixos_repo_name) + + data_file: Path = Path(self.repos.salixos_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1344,6 +1464,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1354,8 +1477,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.salixos_extra_repo_path, self.repos.salixos_extra_repo_packages) path_checksums: Path = Path(self.repos.salixos_extra_repo_path, self.repos.salixos_extra_repo_checksums) - path_changelog: Path = Path(self.repos.salixos_extra_repo_path, - self.repos.salixos_extra_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1379,6 +1500,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1416,30 +1539,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.salixos_extra_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.salixos_extra_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.salixos_extra_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.salixos_extra_repo_path, self.repos.salixos_extra_repo_changelog) + self.write_last_update(path_changelog, self.repos.salixos_extra_repo_name) + + data_file: Path = Path(self.repos.salixos_extra_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1449,6 +1572,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1457,10 +1583,10 @@ class InstallData(Configs): 'PACKAGE REQUIRED:', 'PACKAGE DESCRIPTION:' ] - path_packages: Path = Path(self.repos.salixos_patches_repo_path, self.repos.salixos_patches_repo_packages) - path_checksums: Path = Path(self.repos.salixos_patches_repo_path, self.repos.salixos_patches_repo_checksums) - path_changelog: Path = Path(self.repos.salixos_patches_repo_path, - self.repos.salixos_patches_repo_changelog) + path_packages: Path = Path(self.repos.salixos_patches_repo_path, + self.repos.salixos_patches_repo_packages) + path_checksums: Path = Path(self.repos.salixos_patches_repo_path, + self.repos.salixos_patches_repo_checksums) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1484,6 +1610,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1521,30 +1649,31 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.salixos_patches_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.salixos_extra_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.salixos_patches_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.salixos_patches_repo_path, + self.repos.salixos_patches_repo_changelog) + self.write_last_update(path_changelog, self.repos.salixos_patches_repo_name) + + data_file: Path = Path(self.repos.salixos_patches_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1554,6 +1683,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1564,7 +1696,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slackel_repo_path, self.repos.slackel_repo_packages) path_checksums: Path = Path(self.repos.slackel_repo_path, self.repos.slackel_repo_checksums) - path_changelog: Path = Path(self.repos.slackel_repo_path, self.repos.slackel_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1588,6 +1719,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1625,30 +1758,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.slackel_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slackel_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slackel_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slackel_repo_path, self.repos.slackel_repo_changelog) + self.write_last_update(path_changelog, self.repos.slackel_repo_name) + + data_file: Path = Path(self.repos.slackel_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1658,6 +1791,9 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1668,7 +1804,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.slint_repo_path, self.repos.slint_repo_packages) path_checksums: Path = Path(self.repos.slint_repo_path, self.repos.slint_repo_checksums) - path_changelog: Path = Path(self.repos.slint_repo_path, self.repos.slint_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1692,6 +1827,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) # package name cache.append(version) # package version cache.append(package) @@ -1729,30 +1866,30 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 10: - data: str = BinariesTable( - repo=self.repos.slint_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - required=cache[8], - description=cache[9], - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.slint_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'requires': cache[8].split(), + 'description': cache[9], + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.slint_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.slint_repo_path, self.repos.slint_repo_changelog) + self.write_last_update(path_changelog, self.repos.slint_repo_name) + + data_file: Path = Path(self.repos.slint_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message() @@ -1762,6 +1899,10 @@ class InstallData(Configs): end='', flush=True) checksums_dict: dict = {} + data: dict = {} + build: str = '' + arch: str = '' + requires: list = [] pkg_tag = [ 'PACKAGE NAME:', 'PACKAGE LOCATION:', @@ -1771,7 +1912,6 @@ class InstallData(Configs): ] path_packages: Path = Path(self.repos.pprkut_repo_path, self.repos.pprkut_repo_packages) path_checksums: Path = Path(self.repos.pprkut_repo_path, self.repos.pprkut_repo_checksums) - path_changelog: Path = Path(self.repos.pprkut_repo_path, self.repos.pprkut_repo_changelog) packages_txt: list = self.utils.read_text_file(path_packages) checksums_md5: list = self.utils.read_text_file(path_checksums) @@ -1795,6 +1935,8 @@ class InstallData(Configs): package = line.replace(pkg_tag[0], '').strip() name: str = self.utils.split_package(package)['name'] version: str = self.utils.split_package(package)['version'] + build: str = self.utils.split_package(package)['build'] + arch: str = self.utils.split_package(package)['arch'] cache.append(name) cache.append(version) cache.append(package) @@ -1819,29 +1961,29 @@ class InstallData(Configs): cache.append(package_description) if len(cache) == 9: - data: str = BinariesTable( - repo=self.repos.pprkut_repo_name, - name=cache[0], - version=cache[1], - package=cache[2], - mirror=cache[3], - checksum=cache[4], - location=cache[5], - size_comp=cache[6], - size_uncomp=cache[7], - description=cache[8], - required='', - conflicts='', - suggests='' - ) - - self.session.add(data) + data[cache[0]]: dict = { + 'repo': self.repos.pprkut_repo_name, + 'version': cache[1], + 'package': cache[2], + 'mirror': cache[3], + 'checksum': cache[4], + 'location': cache[5], + 'size_comp': cache[6], + 'size_uncomp': cache[7], + 'description': cache[8], + 'requires': requires, + 'build': build, + 'arch': arch, + 'conflicts': '', + 'suggests': '' + } cache: list = [] # reset cache - last_updated: str = self.last_updated(path_changelog) - date: str = LastRepoUpdated(repo=self.repos.pprkut_repo_name, date=last_updated) - self.session.add(date) - self.session.commit() + path_changelog: Path = Path(self.repos.pprkut_repo_path, self.repos.pprkut_repo_changelog) + self.write_last_update(path_changelog, self.repos.pprkut_repo_name) + + data_file: Path = Path(self.repos.pprkut_repo_path, self.repos.data_json) + data_file.write_text(json.dumps(data, indent=4)) self.view_done_message()