From 985e66bc372635297f0acb54785ba7d2e839da0f Mon Sep 17 00:00:00 2001 From: Tuomas Suutari Date: Tue, 19 Jun 2018 18:52:28 +0300 Subject: [PATCH 1/2] Tune argument parsing Remove the unneeded nargs=1 from config and output arguments, since those are simple single value arguments and it is more logical that the value is not parsed into a list. --- database_sanitizer/__main__.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/database_sanitizer/__main__.py b/database_sanitizer/__main__.py index c35bf85..f381e94 100644 --- a/database_sanitizer/__main__.py +++ b/database_sanitizer/__main__.py @@ -19,7 +19,6 @@ def main(args=None): parser.add_argument( "--config", "-c", - nargs=1, type=str, dest="config", help="Path to the sanitizer configuration file.", @@ -27,7 +26,6 @@ def main(args=None): parser.add_argument( "--output", "-o", - nargs=1, type=str, dest="output", help=( @@ -45,9 +43,9 @@ def main(args=None): config = None if args.config: - config = Configuration.from_file(args.config[0]) + config = Configuration.from_file(args.config) if args.output: - output = open(args.output[0], "w") + output = open(args.output, "w") try: run( From c4a4ea2a3aee400059fb7e6da99aaf25beceb31e Mon Sep 17 00:00:00 2001 From: Tuomas Suutari Date: Tue, 19 Jun 2018 18:56:01 +0300 Subject: [PATCH 2/2] Add path of the config file to Python path There could be global sanitizers present at the path of the configuration file. Make sure that those are importable without setting the PYTHONPATH environment variable. --- database_sanitizer/__main__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/database_sanitizer/__main__.py b/database_sanitizer/__main__.py index f381e94..04f2314 100644 --- a/database_sanitizer/__main__.py +++ b/database_sanitizer/__main__.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import argparse +import os import sys from .config import Configuration @@ -43,6 +44,8 @@ def main(args=None): config = None if args.config: + conf_dir = os.path.realpath(os.path.dirname(args.config)) + sys.path.insert(0, conf_dir) config = Configuration.from_file(args.config) if args.output: output = open(args.output, "w")