Hello community,
here is the log from the commit of package python-configargparse for
openSUSE:Leap:15.2 checked in at 2020-03-13 10:57:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-configargparse (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-configargparse.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-configargparse"
Fri Mar 13 10:57:57 2020 rev:13 rq:783428 version:1.0
Changes:
--------
---
/work/SRC/openSUSE:Leap:15.2/python-configargparse/python-configargparse.changes
2020-03-09 18:03:59.256776473 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-configargparse.new.3160/python-configargparse.changes
2020-03-13 10:59:19.164517853 +0100
@@ -1,0 +2,6 @@
+Thu Feb 20 11:25:43 UTC 2020 - Steve Kowalik <[email protected]>
+
+- Update to 1.0.
+ * Dash supported as first char of argument
+
+-------------------------------------------------------------------
Old:
----
ConfigArgParse-0.15.1.tar.gz
New:
----
ConfigArgParse-1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-configargparse.spec ++++++
--- /var/tmp/diff_new_pack.sn9dDs/_old 2020-03-13 10:59:19.552518130 +0100
+++ /var/tmp/diff_new_pack.sn9dDs/_new 2020-03-13 10:59:19.556518133 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-configargparse
#
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-configargparse
-Version: 0.15.1
+Version: 1.0
Release: 0
Summary: A drop-in replacement for argparse
License: MIT
++++++ ConfigArgParse-0.15.1.tar.gz -> ConfigArgParse-1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ConfigArgParse-0.15.1/ConfigArgParse.egg-info/PKG-INFO
new/ConfigArgParse-1.0/ConfigArgParse.egg-info/PKG-INFO
--- old/ConfigArgParse-0.15.1/ConfigArgParse.egg-info/PKG-INFO 2019-10-08
16:50:55.000000000 +0200
+++ new/ConfigArgParse-1.0/ConfigArgParse.egg-info/PKG-INFO 2019-12-30
06:16:29.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: ConfigArgParse
-Version: 0.15.1
+Version: 1.0
Summary: A drop-in replacement for argparse that allows options to also be set
via config files and/or environment variables.
Home-page: https://github.com/bw2/ConfigArgParse
License: MIT
@@ -106,7 +106,7 @@
.. code:: bash
- python my_script.py --genome hg19 --my-config config.txt f1.vcf
f2.vcf
+ DBSNP_PATH=/data/dbsnp/variants_v2.vcf python config_test.py
--my-config config.txt f1.vcf f2.vcf
*output:*
@@ -114,30 +114,36 @@
.. code:: bash
- Namespace(dbsnp='/data/dbsnp/variants.vcf', genome='hg19',
my_config='config.txt', vcf=['f1.vcf', 'f2.vcf'], verbose=False)
+ Namespace(dbsnp='/data/dbsnp/variants_v2.vcf', genome='HCMV',
my_config='config.txt', v=False, vcf=['f1.vcf', 'f2.vcf'])
----------
- usage: my_script.py [-h] --genome GENOME [-v] -c MY_CONFIG [-d
DBSNP]
- vcf [vcf ...]
+ usage: config_test.py [-h] -c MY_CONFIG --genome GENOME [-v] [-d
DBSNP]
+ vcf [vcf ...]
+
Args that start with '--' (eg. --genome) can also be set in a
config file
- (/etc/settings.ini or /home/jeff/.my_settings or provided via -c)
by using
- .ini or .yaml-style syntax (eg. genome=value). Command-line values
override
- environment variables which override config file values which
override
- defaults.
-
+ (/etc/app/conf.d/*.conf or ~/.my_settings or specified via -c).
Config file
+ syntax allows: key=value, flag=true, stuff=[a,b,c] (for details,
see syntax at
+ https://goo.gl/R74nmi). If an arg is specified in more than one
place, then
+ commandline values override environment variables which override
config file
+ values which override defaults.
+
positional arguments:
- vcf variant file
+ vcf variant file(s)
+
optional arguments:
-h, --help show this help message and exit
- --genome GENOME path to genome file
- -v verbose
-c MY_CONFIG, --my-config MY_CONFIG
config file path
+ --genome GENOME path to genome file
+ -v verbose
-d DBSNP, --dbsnp DBSNP
known variants .vcf [env var: DBSNP_PATH]
+
----------
- Command Line Args: --genome hg19 --my-config config.txt f1.vcf
f2.vcf
+ Command Line Args: --my-config config.txt f1.vcf f2.vcf
+ Environment Variables:
+ DBSNP_PATH: /data/dbsnp/variants_v2.vcf
Config File (config.txt):
- dbsnp: /data/dbsnp/variants.vcf
+ genome: HCMV
Special Values
~~~~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ConfigArgParse-0.15.1/ConfigArgParse.egg-info/SOURCES.txt
new/ConfigArgParse-1.0/ConfigArgParse.egg-info/SOURCES.txt
--- old/ConfigArgParse-0.15.1/ConfigArgParse.egg-info/SOURCES.txt
2019-10-08 16:50:55.000000000 +0200
+++ new/ConfigArgParse-1.0/ConfigArgParse.egg-info/SOURCES.txt 2019-12-30
06:16:29.000000000 +0100
@@ -9,4 +9,6 @@
ConfigArgParse.egg-info/requires.txt
ConfigArgParse.egg-info/top_level.txt
tests/__init__.py
-tests/test_configargparse.py
\ No newline at end of file
+tests/__init__.pyc
+tests/test_configargparse.py
+tests/test_configargparse.pyc
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ConfigArgParse-0.15.1/PKG-INFO
new/ConfigArgParse-1.0/PKG-INFO
--- old/ConfigArgParse-0.15.1/PKG-INFO 2019-10-08 16:50:55.000000000 +0200
+++ new/ConfigArgParse-1.0/PKG-INFO 2019-12-30 06:16:29.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: ConfigArgParse
-Version: 0.15.1
+Version: 1.0
Summary: A drop-in replacement for argparse that allows options to also be set
via config files and/or environment variables.
Home-page: https://github.com/bw2/ConfigArgParse
License: MIT
@@ -106,7 +106,7 @@
.. code:: bash
- python my_script.py --genome hg19 --my-config config.txt f1.vcf
f2.vcf
+ DBSNP_PATH=/data/dbsnp/variants_v2.vcf python config_test.py
--my-config config.txt f1.vcf f2.vcf
*output:*
@@ -114,30 +114,36 @@
.. code:: bash
- Namespace(dbsnp='/data/dbsnp/variants.vcf', genome='hg19',
my_config='config.txt', vcf=['f1.vcf', 'f2.vcf'], verbose=False)
+ Namespace(dbsnp='/data/dbsnp/variants_v2.vcf', genome='HCMV',
my_config='config.txt', v=False, vcf=['f1.vcf', 'f2.vcf'])
----------
- usage: my_script.py [-h] --genome GENOME [-v] -c MY_CONFIG [-d
DBSNP]
- vcf [vcf ...]
+ usage: config_test.py [-h] -c MY_CONFIG --genome GENOME [-v] [-d
DBSNP]
+ vcf [vcf ...]
+
Args that start with '--' (eg. --genome) can also be set in a
config file
- (/etc/settings.ini or /home/jeff/.my_settings or provided via -c)
by using
- .ini or .yaml-style syntax (eg. genome=value). Command-line values
override
- environment variables which override config file values which
override
- defaults.
-
+ (/etc/app/conf.d/*.conf or ~/.my_settings or specified via -c).
Config file
+ syntax allows: key=value, flag=true, stuff=[a,b,c] (for details,
see syntax at
+ https://goo.gl/R74nmi). If an arg is specified in more than one
place, then
+ commandline values override environment variables which override
config file
+ values which override defaults.
+
positional arguments:
- vcf variant file
+ vcf variant file(s)
+
optional arguments:
-h, --help show this help message and exit
- --genome GENOME path to genome file
- -v verbose
-c MY_CONFIG, --my-config MY_CONFIG
config file path
+ --genome GENOME path to genome file
+ -v verbose
-d DBSNP, --dbsnp DBSNP
known variants .vcf [env var: DBSNP_PATH]
+
----------
- Command Line Args: --genome hg19 --my-config config.txt f1.vcf
f2.vcf
+ Command Line Args: --my-config config.txt f1.vcf f2.vcf
+ Environment Variables:
+ DBSNP_PATH: /data/dbsnp/variants_v2.vcf
Config File (config.txt):
- dbsnp: /data/dbsnp/variants.vcf
+ genome: HCMV
Special Values
~~~~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ConfigArgParse-0.15.1/README.rst
new/ConfigArgParse-1.0/README.rst
--- old/ConfigArgParse-0.15.1/README.rst 2019-10-08 16:02:52.000000000
+0200
+++ new/ConfigArgParse-1.0/README.rst 2019-10-24 03:14:22.000000000 +0200
@@ -100,7 +100,7 @@
.. code:: bash
- python my_script.py --genome hg19 --my-config config.txt f1.vcf f2.vcf
+ DBSNP_PATH=/data/dbsnp/variants_v2.vcf python config_test.py --my-config
config.txt f1.vcf f2.vcf
*output:*
@@ -108,30 +108,36 @@
.. code:: bash
- Namespace(dbsnp='/data/dbsnp/variants.vcf', genome='hg19',
my_config='config.txt', vcf=['f1.vcf', 'f2.vcf'], verbose=False)
+ Namespace(dbsnp='/data/dbsnp/variants_v2.vcf', genome='HCMV',
my_config='config.txt', v=False, vcf=['f1.vcf', 'f2.vcf'])
----------
- usage: my_script.py [-h] --genome GENOME [-v] -c MY_CONFIG [-d DBSNP]
- vcf [vcf ...]
+ usage: config_test.py [-h] -c MY_CONFIG --genome GENOME [-v] [-d DBSNP]
+ vcf [vcf ...]
+
Args that start with '--' (eg. --genome) can also be set in a config file
- (/etc/settings.ini or /home/jeff/.my_settings or provided via -c) by using
- .ini or .yaml-style syntax (eg. genome=value). Command-line values override
- environment variables which override config file values which override
- defaults.
-
+ (/etc/app/conf.d/*.conf or ~/.my_settings or specified via -c). Config file
+ syntax allows: key=value, flag=true, stuff=[a,b,c] (for details, see
syntax at
+ https://goo.gl/R74nmi). If an arg is specified in more than one place, then
+ commandline values override environment variables which override config
file
+ values which override defaults.
+
positional arguments:
- vcf variant file
+ vcf variant file(s)
+
optional arguments:
-h, --help show this help message and exit
- --genome GENOME path to genome file
- -v verbose
-c MY_CONFIG, --my-config MY_CONFIG
config file path
+ --genome GENOME path to genome file
+ -v verbose
-d DBSNP, --dbsnp DBSNP
known variants .vcf [env var: DBSNP_PATH]
+
----------
- Command Line Args: --genome hg19 --my-config config.txt f1.vcf f2.vcf
+ Command Line Args: --my-config config.txt f1.vcf f2.vcf
+ Environment Variables:
+ DBSNP_PATH: /data/dbsnp/variants_v2.vcf
Config File (config.txt):
- dbsnp: /data/dbsnp/variants.vcf
+ genome: HCMV
Special Values
~~~~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ConfigArgParse-0.15.1/configargparse.py
new/ConfigArgParse-1.0/configargparse.py
--- old/ConfigArgParse-0.15.1/configargparse.py 2019-10-08 16:50:17.000000000
+0200
+++ new/ConfigArgParse-1.0/configargparse.py 2019-12-30 06:11:08.000000000
+0100
@@ -293,6 +293,8 @@
configargparse args will be ignored. If false, they will be
processed and appended to the commandline like other args, and
can be retrieved using parse_known_args() instead of
parse_args()
+ config_file_open_func: function used to open a config file for
reading
+ or writing. Needs to return a file-like object.
config_file_parser_class: configargparse.ConfigFileParser subclass
which determines the config file format. configargparse comes
with DefaultConfigFileParser and YAMLConfigFileParser.
@@ -335,6 +337,8 @@
"command line args and writes them out to a config file at the "
"given path, then exits")
+ self._config_file_open_func = kwargs.pop('config_file_open_func', open)
+
self._add_config_file_help = add_config_file_help
self._add_env_var_help = add_env_var_help
self._auto_env_var_prefix = auto_env_var_prefix
@@ -397,17 +401,6 @@
else:
args = list(args)
- # normalize args by converting args like --key=value to --key value
- normalized_args = []
- for arg in args:
- if arg and arg[0] in self.prefix_chars and '=' in arg:
- key, value = arg.split('=', 1)
- normalized_args.append(key)
- normalized_args.append(value)
- else:
- normalized_args.append(arg)
- args = normalized_args
-
for a in self._actions:
a.is_positional_arg = not a.option_strings
@@ -438,7 +431,7 @@
nargs = False
actions_with_env_var_values = [a for a in self._actions
if not a.is_positional_arg and a.env_var and a.env_var in env_vars
- and not already_on_command_line(args, a.option_strings)]
+ and not already_on_command_line(args, a.option_strings,
self.prefix_chars)]
for action in actions_with_env_var_values:
key = action.env_var
value = env_vars[key]
@@ -497,13 +490,14 @@
if key in known_config_keys:
action = known_config_keys[key]
discard_this_key = already_on_command_line(
- args, action.option_strings)
+ args, action.option_strings, self.prefix_chars)
else:
action = None
discard_this_key = self._ignore_unknown_config_file_keys
or \
already_on_command_line(
args,
-
[self.get_command_line_key_for_unknown_config_file_setting(key)])
+
[self.get_command_line_key_for_unknown_config_file_setting(key)],
+ self.prefix_chars)
if not discard_this_key:
config_args += self.convert_item_to_command_line_arg(
@@ -526,7 +520,7 @@
for action in self._actions:
cares_about_default_value = (not action.is_positional_arg or
action.nargs in [OPTIONAL, ZERO_OR_MORE])
- if (already_on_command_line(args, action.option_strings) or
+ if (already_on_command_line(args, action.option_strings,
self.prefix_chars) or
not cares_about_default_value or
action.default is None or
action.default == SUPPRESS or
@@ -564,7 +558,7 @@
for output_file_path in output_file_paths:
# validate the output file path
try:
- with open(output_file_path, "w") as output_file:
+ with self._config_file_open_func(output_file_path, "w") as
output_file:
pass
except IOError as e:
raise ValueError("Couldn't open {} for writing: {}".format(
@@ -575,7 +569,7 @@
self._source_to_settings, parsed_namespace)
file_contents = self._config_file_parser.serialize(config_items)
for output_file_path in output_file_paths:
- with open(output_file_path, "w") as output_file:
+ with self._config_file_open_func(output_file_path, "w") as
output_file:
output_file.write(file_contents)
message = "Wrote config file to " + ", ".join(output_file_paths)
if exit_after:
@@ -617,7 +611,8 @@
config_file_keys = self.get_possible_config_keys(action)
if config_file_keys and not action.is_positional_arg and \
already_on_command_line(existing_command_line_args,
- action.option_strings):
+ action.option_strings,
+ self.prefix_chars):
value = getattr(parsed_namespace, action.dest, None)
if value is not None:
if isinstance(value, bool):
@@ -675,8 +670,7 @@
elif isinstance(value, list):
if action is None or isinstance(action, argparse._AppendAction):
for list_elem in value:
- args.append( command_line_key )
- args.append( str(list_elem) )
+ args.append( "%s=%s" % (command_line_key, str(list_elem)) )
elif (isinstance(action, argparse._StoreAction) and action.nargs
in ('+', '*')) or (
isinstance(action.nargs, int) and action.nargs > 1):
args.append( command_line_key )
@@ -686,8 +680,7 @@
self.error(("%s can't be set to a list '%s' unless its action
type is changed "
"to 'append' or nargs is set to '*', '+', or > 1")
% (key, value))
elif isinstance(value, str):
- args.append( command_line_key )
- args.append( value )
+ args.append( "%s=%s" % (command_line_key, value) )
else:
raise ValueError("Unexpected value type {} for value: {}".format(
type(value), value))
@@ -719,11 +712,13 @@
constructor that are present on disk.
Args:
- command_line_args: List of all args (already split on spaces)
+ command_line_args: List of all args
"""
# open any default config files
- config_files = [open(f) for files in map(glob.glob,
map(os.path.expanduser, self._default_config_files))
- for f in files]
+ config_files = []
+ for files in map(glob.glob, map(os.path.expanduser,
self._default_config_files)):
+ for f in files:
+ config_files.append(self._config_file_open_func(f))
# list actions with is_config_file_arg=True. Its possible there is more
# than one such arg.
@@ -763,7 +758,7 @@
if not os.path.isfile(user_config_file):
self.error('File not found: %s' % user_config_file)
- config_files += [open(user_config_file)]
+ config_files += [self._config_file_open_func(user_config_file)]
return config_files
@@ -909,13 +904,21 @@
return action
-def already_on_command_line(existing_args_list, potential_command_line_args):
+def already_on_command_line(existing_args_list, potential_command_line_args,
prefix_chars):
"""Utility method for checking if any of the potential_command_line_args is
already present in existing_args.
"""
- return any(potential_arg in existing_args_list
- for potential_arg in potential_command_line_args)
+ arg_names = []
+ for arg_string in existing_args_list:
+ if arg_string and arg_string[0] in prefix_chars and "=" in arg_string :
+ option_string, explicit_arg = arg_string.split("=", 1)
+ arg_names.append(option_string)
+ else:
+ arg_names.append(arg_string)
+ return any(
+ potential_arg in arg_names for potential_arg in
potential_command_line_args
+ )
# wrap ArgumentParser's add_argument(..) method with the one above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ConfigArgParse-0.15.1/setup.py
new/ConfigArgParse-1.0/setup.py
--- old/ConfigArgParse-0.15.1/setup.py 2019-10-08 16:50:27.000000000 +0200
+++ new/ConfigArgParse-1.0/setup.py 2019-12-30 06:06:27.000000000 +0100
@@ -76,7 +76,7 @@
setup(
name='ConfigArgParse',
- version="0.15.1",
+ version="1.0",
description='A drop-in replacement for argparse that allows options to '
'also be set via config files and/or environment variables.',
long_description=long_description,
Binary files old/ConfigArgParse-0.15.1/tests/__init__.pyc and
new/ConfigArgParse-1.0/tests/__init__.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ConfigArgParse-0.15.1/tests/test_configargparse.py
new/ConfigArgParse-1.0/tests/test_configargparse.py
--- old/ConfigArgParse-0.15.1/tests/test_configargparse.py 2019-10-08
16:02:52.000000000 +0200
+++ new/ConfigArgParse-1.0/tests/test_configargparse.py 2019-12-30
06:11:36.000000000 +0100
@@ -1,5 +1,6 @@
import argparse
import configargparse
+from contextlib import contextmanager
import inspect
import logging
import sys
@@ -40,6 +41,20 @@
return arg_parser
+@contextmanager
+def captured_output():
+ """
+ swap stdout and stderr for StringIO so we can do asserts on outputs.
+ """
+ new_out, new_err = StringIO(), StringIO()
+ old_out, old_err = sys.stdout, sys.stderr
+ try:
+ sys.stdout, sys.stderr = new_out, new_err
+ yield sys.stdout, sys.stderr
+ finally:
+ sys.stdout, sys.stderr = old_out, old_err
+
+
class TestCase(unittest.TestCase):
def initParser(self, *args, **kwargs):
@@ -270,6 +285,28 @@
def testBasicCase2_WithGroups(self):
self.testBasicCase2(use_groups=True)
+ def testCustomOpenFunction(self):
+ expected_output = 'dummy open called'
+
+ def dummy_open(p):
+ print(expected_output)
+ return open(p)
+
+ self.initParser(config_file_open_func=dummy_open)
+ self.add_arg('--config', is_config_file=True)
+ self.add_arg('--arg1', default=1, type=int)
+
+ with tempfile.NamedTemporaryFile(mode='w', delete=False) as
config_file:
+ config_file.write('arg1 2')
+ config_file_path = config_file.name
+
+ with captured_output() as (out, _):
+ args = self.parse('--config {}'.format(config_file_path))
+ self.assertTrue(hasattr(args, 'arg1'))
+ self.assertEqual(args.arg1, 2)
+ output = out.getvalue().strip()
+ self.assertEqual(output, expected_output)
+
def testPositionalAndConfigVarLists(self):
self.initParser()
self.add_arg("a")
@@ -460,12 +497,12 @@
ns, args = self.parse_known("-x 10 --y 3.8",
config_file_contents="bla=3",
env_vars={"bla": "2"})
- self.assertListEqual(args, ["--bla", "3"])
+ self.assertListEqual(args, ["--bla=3"])
self.initParser(ignore_unknown_config_file_keys=False)
ns, args = self.parse_known(args="-x 1", config_file_contents="bla=3",
env_vars={"bla": "2"})
- self.assertEqual(set(args), {"--bla", "3", "-x", "1"})
+ self.assertEqual(set(args), {"--bla=3", "-x", "1"})
def testBooleanValuesCanBeExpressedAsNumbers(self):
self.initParser()
@@ -542,6 +579,70 @@
ns = self.parse("", env_vars = {"file": "[1,2,3]", "VERBOSE": "true"})
self.assertIsNone(ns.file)
+ def testValuesStartingWithDash(self):
+ self.initParser()
+ self.add_arg("--arg0")
+ self.add_arg("--arg1", env_var="ARG1")
+ self.add_arg("--arg2")
+ self.add_arg("--arg3", action='append')
+ self.add_arg("--arg4", action='append', env_var="ARG4")
+ self.add_arg("--arg5", action='append')
+ self.add_arg("--arg6")
+
+ ns = self.parse(
+ "--arg0=-foo --arg3=-foo --arg3=-bar --arg6=-test-more-dashes",
+ config_file_contents="arg2: -foo\narg5: [-foo, -bar]",
+ env_vars={"ARG1": "-foo", "ARG4": "[-foo, -bar]"}
+ )
+ self.assertEqual(ns.arg0, "-foo")
+ self.assertEqual(ns.arg1, "-foo")
+ self.assertEqual(ns.arg2, "-foo")
+ self.assertEqual(ns.arg3, ["-foo", "-bar"])
+ self.assertEqual(ns.arg4, ["-foo", "-bar"])
+ self.assertEqual(ns.arg5, ["-foo", "-bar"])
+ self.assertEqual(ns.arg6, "-test-more-dashes")
+
+ def testPriorityKnown(self):
+ self.initParser()
+ self.add_arg("--arg", env_var="ARG")
+
+ ns = self.parse(
+ "--arg command_line_val",
+ config_file_contents="arg: config_val",
+ env_vars={"ARG": "env_val"}
+ )
+ self.assertEqual(ns.arg, "command_line_val")
+
+ ns = self.parse(
+ "--arg=command_line_val",
+ config_file_contents="arg: config_val",
+ env_vars={"ARG": "env_val"}
+ )
+ self.assertEqual(ns.arg, "command_line_val")
+
+ ns = self.parse(
+ "",
+ config_file_contents="arg: config_val",
+ env_vars={"ARG": "env_val"}
+ )
+ self.assertEqual(ns.arg, "env_val")
+
+ def testPriorityUnknown(self):
+ self.initParser()
+
+ ns, args = self.parse_known(
+ "--arg command_line_val",
+ config_file_contents="arg: config_val",
+ env_vars={"arg": "env_val"}
+ )
+ self.assertListEqual(args, ["--arg", "command_line_val"])
+
+ ns, args = self.parse_known(
+ "--arg=command_line_val",
+ config_file_contents="arg: config_val",
+ )
+ self.assertListEqual(args, ["--arg=command_line_val"])
+
def testAutoEnvVarPrefix(self):
self.initParser(auto_env_var_prefix="TEST_")
self.add_arg("-a", "--arg0", is_config_file_arg=True)
@@ -719,7 +820,7 @@
known, unknown = self.parse_known(command)
- self.assertListEqual(unknown, ['--a2a', '0.5', '--a3a', '0.5'])
+ self.assertListEqual(unknown, ['--a2a=0.5', '--a3a=0.5'])
def test_FormatHelp(self):
self.initParser(args_for_setting_config_path=["-c", "--config"],
Binary files old/ConfigArgParse-0.15.1/tests/test_configargparse.pyc and
new/ConfigArgParse-1.0/tests/test_configargparse.pyc differ