commit: e3276db7fd78c3d7514d97aae24eabbb924a1ff1 Author: Brian Harring <ferringb <AT> gmail <DOT> com> AuthorDate: Tue Nov 21 01:00:53 2023 +0000 Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org> CommitDate: Fri Nov 24 15:17:21 2023 +0000 URL: https://gitweb.gentoo.org/proj/pkgcore/pkgcore.git/commit/?id=e3276db7
pquery: Fix --environment-re support . This has been broken for a long while, thus I'm renaming it to `--environment-re` (from `--environment`) in the process. Tests will follow in a later PR (pquery test infra needs some work). Signed-off-by: Brian Harring <ferringb <AT> gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/415 Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org> src/pkgcore/scripts/pquery.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/pkgcore/scripts/pquery.py b/src/pkgcore/scripts/pquery.py index 0a01702fd..7211441fc 100644 --- a/src/pkgcore/scripts/pquery.py +++ b/src/pkgcore/scripts/pquery.py @@ -16,6 +16,7 @@ running them on source repos makes no sense. import errno import os from functools import partial +import typing from snakeoil.cli import arghparse from snakeoil.formatters import decorate_forced_wrapping @@ -35,9 +36,17 @@ from ..util import parserestrict class DataSourceRestriction(values.base): """Turn a data_source into a line iterator and apply a restriction.""" - def __init__(self, childrestriction, **kwargs): + __slots__ = ("negate", "restriction") + + def __init__( + self, + childrestriction: typing.Union[values.base, values.AnyMatch], + negate=False, + **kwargs, + ): super().__init__(**kwargs) - self.restriction = childrestriction + object.__setattr__(self, "restriction", childrestriction) + object.__setattr__(self, "negate", negate) def __str__(self): return f"DataSourceRestriction: {self.restriction} negate={self.negate}" @@ -929,9 +938,11 @@ def parse_maintainer_email(value): @bind_add_query( - "--environment", action="append", help="regexp search in environment.bz2" + "--environment-re", + action="append", + help="regexp search of lines in environment.bz2", ) -def parse_envmatch(value): +def parse_environment_re(value): """Apply a regexp to the environment.""" return packages.PackageRestriction( "environment", DataSourceRestriction(values.AnyMatch(values.StrRegex(value)))