From 89457de4d4ca36e49ef45e18393626b9f1172d4b Mon Sep 17 00:00:00 2001 From: Louis Abel Date: Thu, 29 Jun 2023 11:44:44 -0700 Subject: [PATCH] hotfix: some packages don't come with sources --- importer/__init__.py | 5 ++++- importer/operation.py | 19 +++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/importer/__init__.py b/importer/__init__.py index 731e0c9..4e08117 100644 --- a/importer/__init__.py +++ b/importer/__init__.py @@ -1,7 +1,10 @@ # -*-:python; coding:utf-8; -*- # author: Louis Abel """ -Import module +Importer module + +This assists packagers by taking input as srpm or git location, importing and +tagging it as appropriate. """ from .operation import Import, SrpmImport diff --git a/importer/operation.py b/importer/operation.py index a28cf49..6ef1770 100644 --- a/importer/operation.py +++ b/importer/operation.py @@ -12,7 +12,8 @@ from pv2.util import error as err __all__ = [ 'Import', - 'SrpmImport' + 'SrpmImport', + 'GitImport' ] # todo: add in logging and replace print with log @@ -77,11 +78,12 @@ class Import: Returns a dict of files that are part of sources and are binary. """ source_dict = {} - for file in os.scandir(f'{local_repo_path}/SOURCES'): - full_path = f'{local_repo_path}/SOURCES/{file.name}' - magic = fileutil.get_magic_file(full_path) - if magic.encoding == 'binary': - source_dict[f'SOURCES/{file.name}'] = fileutil.get_checksum(full_path) + if os.path.exists(f'{local_repo_path}/SOURCES'): + for file in os.scandir(f'{local_repo_path}/SOURCES'): + full_path = f'{local_repo_path}/SOURCES/{file.name}' + magic = fileutil.get_magic_file(full_path) + if magic.encoding == 'binary': + source_dict[f'SOURCES/{file.name}'] = fileutil.get_checksum(full_path) return source_dict @@ -332,3 +334,8 @@ class SrpmImport(Import): """ new_name = self.__srpm_metadata['name'].replace('+', 'plus') return new_name + +class GitImport(Import): + """ + Import class for importing from git (e.g. pagure or gitlab) + """