From 04ebe222f681b0fe1ee9afdfff06fe21cc3c596e Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Tue, 20 Aug 2024 16:31:25 -0500 Subject: [PATCH 1/2] added error handling when retrieving the user --- CHANGELOG.md | 5 +++++ locidex/build.py | 4 ++-- locidex/utils.py | 14 +++++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d700cb..f436fa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased - [2024-08-20] + +### `Fixed` + +- Added error handling to `getpass.getuser()` when to prevent throwing an error when there is no user UID such as when running the container in docker. [PR 37](https://github.com/phac-nml/locidex/pull/37) ## v0.2.2 - [2024-08-01] diff --git a/locidex/build.py b/locidex/build.py index 5dba127..6d06cb9 100644 --- a/locidex/build.py +++ b/locidex/build.py @@ -10,7 +10,7 @@ from locidex.constants import DBConfig, MetadataFields, raise_file_not_found_e from locidex.classes.blast import BlastMakeDB from locidex.manifest import DBData -import getpass +from locidex.utils import get_user import errno import logging import sys @@ -129,7 +129,7 @@ def add_args(parser=None): parser.add_argument('-i','--input_file', type=str, required=True,help='Input tsv formated for locidex') parser.add_argument('-o', '--outdir', type=str, required=True, help='Output directory to put results') parser.add_argument('-n', '--name', type=str, required=True, help='Database name',default='Locidex Database') - parser.add_argument('-a', '--author', type=str, required=False, help='Author Name for Locidex Database. Default: {}'.format(getpass.getuser()),default=getpass.getuser()) + parser.add_argument('-a', '--author', type=str, required=False, help='Author Name for Locidex Database. Default: {}'.format(get_user()),default=get_user()) parser.add_argument('-c', '--db_ver', type=str, required=False, help='Version code for locidex db: {}'.format(default_version), default=default_version) parser.add_argument('-e', '--db_desc',type=str, required=False, help='Version code for locidex db', diff --git a/locidex/utils.py b/locidex/utils.py index 318dd4c..22f5411 100644 --- a/locidex/utils.py +++ b/locidex/utils.py @@ -5,6 +5,7 @@ import argparse import logging import errno +import getpass from collections import Counter from pathlib import Path from locidex.manifest import ManifestItem @@ -14,6 +15,17 @@ import locidex.manifest as manifest +def get_user() -> str: + """ + Return the user login or a default value if it cannot be determined + """ + output: str = "No Author" + try: + output = getpass.getuser() + except KeyError: + pass + return output + def slots(annotations: Dict[str, object]) -> FrozenSet[str]: """ Thank you for this: https://stackoverflow.com/a/63658478 @@ -191,4 +203,4 @@ def check_utilities(logger: logging.Logger, utilities: List[str]): logger.critical("Missing: {}".format(output)) if missing_utilities: - raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), ",".join(missing_utilities)) \ No newline at end of file + raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), ",".join(missing_utilities)) From c6d8f1948b9d0b0b46af613083ed132e8c0ef29a Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Tue, 20 Aug 2024 16:34:13 -0500 Subject: [PATCH 2/2] updated changelog --- CHANGELOG.md | 2 ++ locidex/report.py | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f436fa2..02fa3a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added error handling to `getpass.getuser()` when to prevent throwing an error when there is no user UID such as when running the container in docker. [PR 37](https://github.com/phac-nml/locidex/pull/37) +- Removed print debug statement from `report.py`. [PR 37](https://github.com/phac-nml/locidex/pull/37) + ## v0.2.2 - [2024-08-01] ### `Fixed` diff --git a/locidex/report.py b/locidex/report.py index 09b9ae9..ac6cdce 100644 --- a/locidex/report.py +++ b/locidex/report.py @@ -254,8 +254,6 @@ def allele_assignment(self,dbtype): hit_loci_names = self.get_hit_locinames() loci_lookup = self.get_loci_to_query_map(hit_loci_names,dbtype) - print("loci names", hit_loci_names) - for locus in loci_lookup: loci_lookup[locus] = list(set(loci_lookup[locus]) - self.failed_seqids)