lockss-pybasic 0.1.0.dev20__tar.gz → 0.1.0.dev22__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/PKG-INFO +1 -1
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/pyproject.toml +1 -1
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/src/lockss/pybasic/__init__.py +1 -1
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/src/lockss/pybasic/cliutil.py +8 -6
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/LICENSE +0 -0
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/README.rst +0 -0
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/src/lockss/pybasic/errorutil.py +0 -0
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/src/lockss/pybasic/fileutil.py +0 -0
- {lockss_pybasic-0.1.0.dev20 → lockss_pybasic-0.1.0.dev22}/src/lockss/pybasic/outpututil.py +0 -0
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
Command line utilities.
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
from argparse import _A
|
|
36
35
|
from collections.abc import Callable
|
|
37
36
|
import sys
|
|
38
37
|
from typing import Any, Dict, Generic, Optional, TypeVar
|
|
39
38
|
|
|
40
|
-
from pydantic.v1 import BaseModel
|
|
39
|
+
from pydantic.v1 import BaseModel
|
|
41
40
|
from pydantic_argparse import ArgumentParser
|
|
41
|
+
from pydantic_argparse.argparse.actions import SubParsersAction
|
|
42
42
|
from rich_argparse import RichHelpFormatter
|
|
43
43
|
|
|
44
44
|
class ActionCommand(Callable, BaseModel):
|
|
@@ -101,7 +101,7 @@ class BaseCli(Generic[BaseModelT]):
|
|
|
101
101
|
``prog`` and ``description`` from the constructor keyword
|
|
102
102
|
arguments in ``self.parser``.
|
|
103
103
|
|
|
104
|
-
* Stores the Pydantic-Argparse parsed
|
|
104
|
+
* Stores the Pydantic-Argparse parsed arguments in ``self.args``.
|
|
105
105
|
|
|
106
106
|
* Calls ``dispatch()``.
|
|
107
107
|
|
|
@@ -145,9 +145,11 @@ class BaseCli(Generic[BaseModelT]):
|
|
|
145
145
|
})
|
|
146
146
|
def __add_formatter_class(container):
|
|
147
147
|
container.formatter_class = RichHelpFormatter
|
|
148
|
-
if container
|
|
149
|
-
for
|
|
150
|
-
|
|
148
|
+
if hasattr(container, '_actions'):
|
|
149
|
+
for action in container._actions:
|
|
150
|
+
if issubclass(type(action), SubParsersAction):
|
|
151
|
+
for subaction in action.choices.values():
|
|
152
|
+
__add_formatter_class(subaction)
|
|
151
153
|
__add_formatter_class(self._parser)
|
|
152
154
|
|
|
153
155
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|