Add ability for portageq help to print valid metadata keys.
authorAlec Warner <antarus@scriptkitty.com>
Mon, 16 Aug 2010 02:38:42 +0000 (19:38 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 16 Aug 2010 09:49:46 +0000 (02:49 -0700)
bin/portageq

index ce72df046da81ab020c999143b646653ac154889..77c102ed49397aaf74358b04944bba0220a3c4e8 100755 (executable)
@@ -148,9 +148,6 @@ def mass_best_version(argv):
 mass_best_version.uses_root = True
 
 def metadata(argv):
-       """<root> <pkgtype> <category/package> [<key>]+
-       Returns metadata values for the specified package.
-       """
        if (len(argv) < 4):
                print("ERROR: insufficient parameters!", file=sys.stderr)
                sys.exit(2)
@@ -175,6 +172,12 @@ def metadata(argv):
                print("Package not found: '%s'" % pkgspec, file=sys.stderr)
                sys.exit(1)
 
+metadata.__doc__ = """
+<root> <pkgtype> <category/package> [<key>]+
+Returns metadata values for the specified package.
+Available keys: %s
+"""  % ','.join(portage.auxdbkeys)
+
 metadata.uses_root = True
 
 def contents(argv):
@@ -587,25 +590,25 @@ def usage(argv):
        # Show our commands -- we do this by scanning the functions in this
        # file, and formatting each functions documentation.
        #
-
+       help_mode = '--help' in sys.argv
        for name in commands:
                # Drop non-functions
                obj = globals()[name]
 
                doc = obj.__doc__
                if (doc == None):
-                       print("   "+name)
+                       print("   " + name)
                        print("      MISSING DOCUMENTATION!")
                        print("")
                        continue
 
                lines = doc.split("\n")
-               print("   "+name+" "+lines[0].strip())
+               print("   " + name + " " + lines[0].strip())
                if (len(sys.argv) > 1):
-                       if ("--help" not in sys.argv):
+                       if (not help_mode):
                                lines = lines[:-1]
                        for line in lines[1:]:
-                               print("      "+line.strip())
+                               print("      " + line.strip())
        if (len(sys.argv) == 1):
                print("\nRun portageq with --help for info")