commit:     204b1abca2c0cbbdad188c7fd4b84452c2f630a0
Author:     Siddhanth Rathod <xsiddhanthrathod <AT> gmail <DOT> com>
AuthorDate: Tue Aug 22 13:55:48 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 20:34:30 2023 +0000
URL:        https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=204b1abc

eclean-pkg: Limit invalid search to 'packages' action

Bug: https://bugs.gentoo.org/900224
Fixes: a16d0d4fbfb4614832c4b682b41284a9050af29f
Signed-off-by: Siddhanth Rathod <xsiddhanthrathod <AT> gmail.com>
Closes: https://github.com/gentoo/gentoolkit/pull/30
Signed-off-by: Sam James <sam <AT> gentoo.org>

 pym/gentoolkit/eclean/cli.py | 46 +++++++++++++++++++++++---------------------
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/pym/gentoolkit/eclean/cli.py b/pym/gentoolkit/eclean/cli.py
index 40fc4f9..c8381a0 100644
--- a/pym/gentoolkit/eclean/cli.py
+++ b/pym/gentoolkit/eclean/cli.py
@@ -435,7 +435,7 @@ def parseArgs(options={}):
 
     # here are the different allowed command line options (getopt args)
     getopt_options = {"short": {}, "long": {}}
-    getopt_options["short"]["global"] = "CdDipqe:t:nhVv"
+    getopt_options["short"]["global"] = "CdDipqe:t:nhVvN"
     getopt_options["long"]["global"] = [
         "nocolor",
         "deep",
@@ -450,6 +450,7 @@ def parseArgs(options={}):
         "help",
         "version",
         "verbose",
+        "clean-inavlids",
     ]
     getopt_options["short"]["distfiles"] = "fs:"
     getopt_options["long"]["distfiles"] = ["fetch-restricted", "size-limit="]
@@ -619,28 +620,29 @@ def doAction(action, options, exclude={}, output=None):
         )
         output.set_colors("deprecated")
         output.list_pkgs(deprecated)
-    if invalids and options["clean-invalids"]:
-        if type(invalids) == list:
-            printUsage(_error="invalid_paths", unresolved_invalids=invalids)
-            sys.exit(1)
-        verb = "were"
-        if options["pretend"]:
-            verb = "would be"
-        if not options["quiet"]:
-            print()
-            print(
-                (
-                    pp.emph("   The following ")
-                    + red("invalid")
-                    + pp.emph(" binpkgs were found")
+    if action in ["packages"]:
+        if invalids and options["clean-invalids"]:
+            if type(invalids) == list:
+                printUsage(_error="invalid_paths", 
unresolved_invalids=invalids)
+                sys.exit(1)
+            verb = "were"
+            if options["pretend"]:
+                verb = "would be"
+            if not options["quiet"]:
+                print()
+                print(
+                    (
+                        pp.emph("   The following ")
+                        + red("invalid")
+                        + pp.emph(" binpkgs were found")
+                    )
                 )
-            )
-            output.set_colors("invalid")
-            output.list_pkgs(invalids)
-            clean_size = cleaner.clean_pkgs(invalids, pkgdir)
-            output.total("invalid", clean_size, len(invalids), verb, action)
-        else:
-            cleaner.clean_pkgs(invalids, pkgdir)
+                output.set_colors("invalid")
+                output.list_pkgs(invalids)
+                clean_size = cleaner.clean_pkgs(invalids, pkgdir)
+                output.total("invalid", clean_size, len(invalids), verb, 
action)
+            else:
+                cleaner.clean_pkgs(invalids, pkgdir)
 
 
 def main():

Reply via email to