From 20fa26cae8b55acceec7fc701e680fd0d332b1a9 Mon Sep 17 00:00:00 2001 From: PredictiveManish Date: Thu, 5 Feb 2026 10:11:55 +0530 Subject: [PATCH 1/4] logging improvement Signed-off-by: PredictiveManish --- .../libyear_util/pypi_libyear_util.py | 7 ++++-- .../libyear_util/pypi_parser.py | 23 +++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py index 752582d64..de2924512 100644 --- a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py +++ b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py @@ -3,7 +3,9 @@ # from packaging import version from distutils.version import LooseVersion import re +import logging +logger=logging.getLogger(__name__) def get_pypi_data(name, version=None): """return a dictionary with pypi project data""" @@ -68,7 +70,7 @@ def get_latest_version(data): return data['info']['version'] -def get_release_date(data, version,logger): +def get_release_date(data, version): if not data: logger.info('invalid data') return None @@ -117,5 +119,6 @@ def get_libyear(current_version, current_release_date, latest_version, latest_re latest_release_date = dateutil.parser.parse(latest_release_date) libdays = (latest_release_date - current_release_date).days + logger.info(f"Library days difference: {libdays} days between current release ({current_release_date}) and latest release ({latest_release_date})") libyear = libdays/365 - return libyear \ No newline at end of file + return libyear diff --git a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_parser.py b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_parser.py index 5c549be80..6e56508d2 100644 --- a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_parser.py +++ b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_parser.py @@ -8,7 +8,9 @@ import logging import yaml +import traceback +logger=logging.getLogger(__name__) #Files that would be parsed should be added here. file_list = [ @@ -41,9 +43,6 @@ def find(name, path): requirement_regrex = re.compile(REQUIREMENTS_REGEXP) -import logging -import traceback - def parse_requirement_txt(file_handle): deps = [] file_name = getattr(file_handle, 'name', 'unknown') @@ -53,13 +52,13 @@ def parse_requirement_txt(file_handle): for encoding in ['utf-8', 'utf-16', 'latin1']: try: manifest = raw_bytes.decode(encoding) - logging.debug(f"[{file_name}] Successfully decoded with encoding: {encoding}") + logger.debug(f"[{file_name}] Successfully decoded with encoding: {encoding}") break except UnicodeDecodeError: continue else: - logging.error(f"[{file_name}] Failed to decode with utf-8, utf-16, or latin1") - logging.error(traceback.format_exc()) + logger.error(f"[{file_name}] Failed to decode with utf-8, utf-16, or latin1") + logger.error(traceback.format_exc()) return [] for line in manifest.splitlines(): @@ -100,7 +99,7 @@ def parse_pipfile(file_handle): try: manifest = tomllib.load(file_handle) except Exception as e: - logging.warning(f"Failed to parse Pipfile: {getattr(file_handle, 'name', 'unknown')}, error: {e}") + logger.warning(f"Failed to parse Pipfile: {getattr(file_handle, 'name', 'unknown')}, error: {e}") return [] return map_dependencies_pipfile(manifest.get('packages', {}), 'runtime') + \ @@ -153,10 +152,10 @@ def parse_poetry(file_handle, repo_id=None, path=None): try: manifest = tomllib.load(file_handle) except tomllib.TomlDecodeError as e: - logging.warning(f"[Repo ID: {repo_id}] Skipping malformed TOML file: {file_name} at {path}, error: {e}") + logger.warning(f"[Repo ID: {repo_id}] Skipping malformed TOML file: {file_name} at {path}, error: {e}") return [] except Exception as e: - logging.error(f"[Repo ID: {repo_id}] Unexpected error while loading TOML from {file_name} at {path}: {e}") + logger.error(f"[Repo ID: {repo_id}] Unexpected error while loading TOML from {file_name} at {path}: {e}") return [] try: @@ -164,7 +163,7 @@ def parse_poetry(file_handle, repo_id=None, path=None): return map_dependencies_pipfile(deps.get('dependencies', {}), 'runtime') + \ map_dependencies_pipfile(deps.get('dev-dependencies', {}), 'develop') except Exception as e: - logging.error(f"[Repo ID: {repo_id}] Error parsing dependencies from {file_name} at {path}: {e}") + logger.error(f"[Repo ID: {repo_id}] Error parsing dependencies from {file_name} at {path}: {e}") return [] @@ -198,10 +197,10 @@ def parse_conda(file_handle): dependencies = contents.get('dependencies', []) if not dependencies: - print("No dependencies found.") + logger.info("No dependencies found.") return [] else: - print("Dependencies found.") + logger.info("Dependencies found.") for dep in dependencies: if (type(dep) is dict) and dep['pip']: pip = dep From 8fa087a6c825bb1c875e209d602bbfa52873807c Mon Sep 17 00:00:00 2001 From: PredictiveManish Date: Thu, 5 Feb 2026 10:20:22 +0530 Subject: [PATCH 2/4] completely upgrading libyear_util module Signed-off-by: PredictiveManish --- .../tasks/git/dependency_libyear_tasks/libyear_util/util.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py index 0a74492f2..34358936e 100644 --- a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py +++ b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py @@ -4,6 +4,7 @@ from collectoss.tasks.git.dependency_libyear_tasks.libyear_util.npm_parser import parse_package_json from collectoss.tasks.git.dependency_libyear_tasks.libyear_util.pypi_libyear_util import sort_dependency_requirement,get_pypi_data,get_latest_version,get_release_date from collectoss.tasks.git.dependency_libyear_tasks.libyear_util.npm_libyear_utils import get_NPM_data, get_npm_release_date, get_npm_latest_version,get_npm_current_version +import logging #Files That would be parsed should be added here file_list = [ @@ -95,6 +96,7 @@ def get_libyear(current_version, current_release_date, latest_version, latest_re latest_release_date = dateutil.parser.parse(latest_release_date) libdays = (latest_release_date - current_release_date).days + logging.info(libdays) libyear = libdays/365 return libyear @@ -186,4 +188,4 @@ def get_deps_libyear_data(path, logger): dependency['latest_release_date'] = latest_release_date dependency['libyear'] = libyear - return [d for d in dependencies if 'libyear' in d] \ No newline at end of file + return [d for d in dependencies if 'libyear' in d] From f4046a824b20a94a2bf22908e629aa8a3db7c626 Mon Sep 17 00:00:00 2001 From: PredictiveManish Date: Thu, 5 Feb 2026 10:30:00 +0530 Subject: [PATCH 3/4] slight improvement Signed-off-by: PredictiveManish --- .../tasks/git/dependency_libyear_tasks/libyear_util/util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py index 34358936e..c3e8e29fd 100644 --- a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py +++ b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/util.py @@ -5,7 +5,7 @@ from collectoss.tasks.git.dependency_libyear_tasks.libyear_util.pypi_libyear_util import sort_dependency_requirement,get_pypi_data,get_latest_version,get_release_date from collectoss.tasks.git.dependency_libyear_tasks.libyear_util.npm_libyear_utils import get_NPM_data, get_npm_release_date, get_npm_latest_version,get_npm_current_version import logging - +logger=logging.getLogger(__name__) #Files That would be parsed should be added here file_list = [ 'Requirement.txt', @@ -96,7 +96,7 @@ def get_libyear(current_version, current_release_date, latest_version, latest_re latest_release_date = dateutil.parser.parse(latest_release_date) libdays = (latest_release_date - current_release_date).days - logging.info(libdays) + logger.info(libdays) libyear = libdays/365 return libyear From 5e60075fde448c9aa977e4b6449c2fc8aab56279 Mon Sep 17 00:00:00 2001 From: Manish Tiwari Date: Thu, 5 Mar 2026 12:57:54 +0530 Subject: [PATCH 4/4] Modify get_release_date to include logger Added logger parameter to get_release_date function. Signed-off-by: Manish Tiwari --- .../dependency_libyear_tasks/libyear_util/pypi_libyear_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py index de2924512..5eb39f482 100644 --- a/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py +++ b/collectoss/tasks/git/dependency_libyear_tasks/libyear_util/pypi_libyear_util.py @@ -70,7 +70,7 @@ def get_latest_version(data): return data['info']['version'] -def get_release_date(data, version): +def get_release_date(data, version, logger): if not data: logger.info('invalid data') return None