Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
5eb39451 by Mark Sapiro at 2020-06-26T21:06:05+00:00
Fix mailman conf to use entire config to find sections, not just schema.
- - - - -
9f458787 by Mark Sapiro at 2020-06-26T21:06:05+00:00
Merge branch 'fix_736' into 'master'
Fix mailman conf to use entire config to find sections, not just schema.
Closes #736
See merge request mailman/mailman!666
- - - - -
4 changed files:
- src/mailman/commands/cli_conf.py
- src/mailman/commands/docs/conf.rst
- src/mailman/commands/tests/test_cli_conf.py
- src/mailman/docs/NEWS.rst
Changes:
=====================================
src/mailman/commands/cli_conf.py
=====================================
@@ -86,7 +86,7 @@ def conf(ctx, output, section, key):
ctx.fail('No such section: {}'.format(section))
# Case 3: Section is not given, key is given.
elif section is None and key is not None:
- for current_section in sorted(config.schema._section_schemas):
+ for current_section in sorted([section.name for section in config]):
# We have to ensure that the current section actually exists
# and that it contains the given key.
if (_section_exists(current_section) and
@@ -97,7 +97,7 @@ def conf(ctx, output, section, key):
# Case 4: Neither section nor key are given, just display all the
# sections and their corresponding key/value pairs.
elif section is None and key is None:
- for current_section in sorted(config.schema._section_schemas):
+ for current_section in sorted([section.name for section in config]):
# However, we have to make sure that the current sections and
# key which are being looked up actually exist before trying
# to print them.
=====================================
src/mailman/commands/docs/conf.rst
=====================================
@@ -54,6 +54,21 @@ key, along with the names of the corresponding sections.
[logging.smtp] path: smtp.log
[logging.subscribe] path: mailman.log
[logging.vette] path: mailman.log
+ [runner.archive] path: $QUEUE_DIR/$name
+ [runner.bad] path: $QUEUE_DIR/$name
+ [runner.bounces] path: $QUEUE_DIR/$name
+ [runner.command] path: $QUEUE_DIR/$name
+ [runner.digest] path: $QUEUE_DIR/$name
+ [runner.in] path: $QUEUE_DIR/$name
+ [runner.lmtp] path:
+ [runner.nntp] path: $QUEUE_DIR/$name
+ [runner.out] path: $QUEUE_DIR/$name
+ [runner.pipeline] path: $QUEUE_DIR/$name
+ [runner.rest] path:
+ [runner.retry] path: $QUEUE_DIR/$name
+ [runner.shunt] path: $QUEUE_DIR/$name
+ [runner.virgin] path: $QUEUE_DIR/$name
+
If you specify both a section and a key, you will get the corresponding value.
=====================================
src/mailman/commands/tests/test_cli_conf.py
=====================================
@@ -21,6 +21,7 @@ import unittest
from click.testing import CliRunner
from mailman.commands.cli_conf import conf
+from mailman.config import config
from mailman.testing.layers import ConfigLayer
from tempfile import NamedTemporaryFile
@@ -62,6 +63,15 @@ class TestConf(unittest.TestCase):
'Try \'conf --help\' for help.\n\n'
'Error: Section mailman: No such key: thiskeydoesnotexist\n')
+ def test_pushed_section_is_found(self):
+ config.push('test config', """\
+[archiver.other]
+enable: yes
+""")
+ result = self._command.invoke(conf, ('-k', 'enable'))
+ self.assertIn('[archiver.other] enable: yes', result.output)
+ config.pop('test config')
+
def test_output_to_explicit_stdout(self):
result = self._command.invoke(
conf, ('-o', '-', '-s', 'shell', '-k', 'use_ipython'))
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -32,6 +32,9 @@ Command line
subcommands have been added. These provide more options and controls than
the corresponding ``mailman members`` modes which are now deprecated.
(Closes #686)
+* The ``mailman conf`` command without a ``-s/--section`` argument will now
+ show sections defined only in mailman.cfg in addition to those from
+ schema.cfg. (Closes #736)
REST
----
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/6adae1b2fe287aaaad47b9fd2d73cd123c84c60e...9f45878796f6db2968171375193b5fb5d2a0ff86
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/6adae1b2fe287aaaad47b9fd2d73cd123c84c60e...9f45878796f6db2968171375193b5fb5d2a0ff86
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/mailman-checkins.python.org/
Member address: [email protected]