Compare commits

...

6 commits

5 changed files with 35 additions and 7 deletions

View file

@ -1,3 +1,23 @@
## 0.6.2rc2 (2025-04-09)
### Fix
- version
## 0.6.2rc1 (2025-03-19)
### Fix
- better leader support
## 0.6.2rc0 (2025-01-03)
### Fix
- python 2.12 support
## 0.6.1 (2024-11-06)
## 0.6.1rc0 (2024-11-06)
### Fix

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project]
name = "tiramisu_cmdline_parser"
version = "0.6.1"
version = "0.6.2rc2"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md"
description = "command-line parser using Tiramisu"
@ -18,6 +18,8 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"Natural Language :: English",
@ -37,5 +39,9 @@ name = "cz_conventional_commits"
tag_format = "$version"
version_scheme = "pep440"
version_provider = "pep621"
#update_changelog_on_bump = true
version_files = [
"tiramisu_cmdline_parser/__version__.py",
"pyproject.toml:version"
]
update_changelog_on_bump = true
changelog_merge_prerelease = true

View file

@ -22,5 +22,5 @@ except ImportError as err:
warnings.warn("cannot not import TiramisuCmdlineParser {err}", ImportWarning)
TiramisuCmdlineParser = None
__version__ = "0.5"
from .__version__ import __version__
__all__ = ("TiramisuCmdlineParser",)

View file

@ -0,0 +1,2 @@
__version__ = "0.6.2rc2"

View file

@ -374,9 +374,9 @@ class TiramisuCmdlineParser(ArgumentParser):
return self.prefix_chars + name
return self.prefix_chars * 2 + name
def _parse_known_args(self, args=None, namespace=None):
def _parse_known_args(self, args, namespace, *others):
try:
namespace_, args_ = super()._parse_known_args(args, namespace)
namespace_, args_ = super()._parse_known_args(args, namespace, *others)
except (ValueError, LeadershipError, AttributeError) as err:
self.error(err)
if args != args_ and args_ and args_[0].startswith(self.prefix_chars):
@ -397,7 +397,7 @@ class TiramisuCmdlineParser(ArgumentParser):
fullpath=self.fullpath,
)
namespace_, args_ = new_parser._parse_known_args(
args_, new_parser.namespace
args_, new_parser.namespace, *others
)
else:
if self._registries["action"]["help"].needs:
@ -488,7 +488,7 @@ class TiramisuCmdlineParser(ArgumentParser):
# no follower found, search if there is a symlink
for sobj in config.list(uncalculated=True):
try:
if sobj.issymlinkoption() and sobj.option().isleader():
if sobj.issymlinkoption() and sobj.index is None and sobj.option().isleader():
yield sobj, None, None
except ConfigError:
pass