X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fsol005%2Fosmrepo.py;h=6b9d5277818bcdb9d8cd32609a0dd02906621a2f;hb=df7452bc42c9ad62f6a0923c0c3eb42a3bc3a331;hp=d731e3042efa7537a278d194579a399747d6a544;hpb=a56e7c2f36bbbd750200a5a599f07e009dca0fe6;p=osm%2Fosmclient.git diff --git a/osmclient/sol005/osmrepo.py b/osmclient/sol005/osmrepo.py index d731e30..6b9d527 100644 --- a/osmclient/sol005/osmrepo.py +++ b/osmclient/sol005/osmrepo.py @@ -16,7 +16,6 @@ OSM Repo API handling """ import glob -import hashlib import logging from os import listdir, mkdir, getcwd, remove from os.path import isfile, isdir, join, abspath @@ -29,6 +28,7 @@ from osm_im.validation import Validation as validation_im from osmclient.common.exceptions import ClientException from osmclient.common.package_tool import PackageTool from osmclient.sol005.repo import Repo +from osmclient.common import utils from packaging import version as versioning import requests import yaml @@ -147,7 +147,6 @@ class OSMRepo(Repo): return f_name def pkg_get(self, pkgtype, name, repo, version, filter): - pkg_name = self.get_pkg(pkgtype, name, repo, filter, version) if not pkg_name: raise ClientException("Package not found") @@ -226,19 +225,6 @@ class OSMRepo(Repo): + str(len(glob.glob(destination + "/nst/*/*/metadata.yaml"))) ) - def md5(self, fname): - """ - Checksum generator - :param fname: file path - :return: checksum string - """ - self._logger.debug("") - hash_md5 = hashlib.md5() - with open(fname, "rb") as f: - for chunk in iter(lambda: f.read(4096), b""): - hash_md5.update(chunk) - return hash_md5.hexdigest() - def fields_building(self, descriptor_dict, file, package_type): """ From an artifact descriptor, obtain the fields required for indexing @@ -321,8 +307,8 @@ class OSMRepo(Repo): msg = f"Unexpected descriptor format {descriptor_dict}" self._logger.error(msg) raise ValueError(msg) - - fields["name"] = aux_dict.get("name") + # Repo search is based on 'name' entry in index.yaml. It is mandatory then + fields["name"] = aux_dict.get("name", aux_dict["product-name"]) fields["id"] = aux_dict.get("id") fields["description"] = aux_dict.get("description") fields["vendor"] = aux_dict.get("vendor") @@ -371,7 +357,9 @@ class OSMRepo(Repo): else: folder, descriptor_file = self.zip_extraction(path) folder = join(origin, folder) - self._logger.debug(f"Kind is an artifact (tar.gz). Folder: {folder}. Descriptor_file: {descriptor_file}") + self._logger.debug( + f"Kind is an artifact (tar.gz). Folder: {folder}. Descriptor_file: {descriptor_file}" + ) self._logger.debug("Opening descriptor file: {}".format(descriptor_file)) @@ -438,7 +426,7 @@ class OSMRepo(Repo): path = pt.build(path) self._logger.debug(f"Directory path {path}") compressed = True - fields["checksum"] = self.md5(path) + fields["checksum"] = utils.md5(path) self.indexation(destination, path, package_type, fields) except Exception as e: