Skip to content

Commit

Permalink
feat: Allow lbsntransform args to be predefined by another package
Browse files Browse the repository at this point in the history
  • Loading branch information
Sieboldianus committed Mar 15, 2022
1 parent 854aad5 commit c587bbf
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 10 deletions.
28 changes: 23 additions & 5 deletions lbsntransform/config/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,20 @@ def __init__(self):

BaseConfig.set_options()

def parse_args(self):
"""Process input *args
@staticmethod
def get_arg_parser(
parser: argparse.ArgumentParser = None) -> argparse.ArgumentParser:
"""Define lbsntransform cli arguments
All args are optional, but some groups need to be defined together.
Arguments:
parser: Optional parser with extended arguments. This
can be used to include lbsntransofmr in another package.
Note: All args are optional, but some groups need to be defined
together.
"""
parser = argparse.ArgumentParser()
if parser is None:
parser = argparse.ArgumentParser()
parser.add_argument('--version',
action='version',
version=f'lbsntransform {__version__}')
Expand Down Expand Up @@ -646,8 +654,18 @@ def parse_args(self):
'[2]: https://lbsn.vgiscience.org/tutorial/yfcc-geohash/#prepare-query-and-cryptographic-hashing',
action='append',
type=str)
return parser

def parse_args(self, args: List = None):
"""Process input *args
Arguments:
args: Optional prepopulated list of args. Can be used to define
and extend arguments outside of lbsntransform
"""

args = parser.parse_args()
parser = BaseConfig.get_arg_parser()
args = parser.parse_args(args)
if args.file_input:
self.is_local_input = True
self.local_file_type = args.file_type
Expand Down
9 changes: 4 additions & 5 deletions lbsntransform/tools/helper_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -733,12 +733,11 @@ def dynamic_get_mapping_module(
origin: The MAPPING_ID to identify the mapping module.
path: Override default path with user defined folder.
"""
if mappings_path is None:
if mappings_path is None or origin == 0:
mappings_module_name = "lbsntransform.input.mappings"
if origin == 0:
from lbsntransform.input.mappings.field_mapping_lbsn import \
importer as importer
return importer
from lbsntransform.input.mappings.field_mapping_lbsn import \
importer as importer
return importer
else:
mapping_modules = HelperFunctions._get_file_list(
mappings_path)
Expand Down

0 comments on commit c587bbf

Please sign in to comment.