Skip file processing if portpeek-skip found on comment line. Add portpeek-skip info...
authorMike Pagano <mpagano@gentoo.org>
Mon, 4 Jul 2011 23:59:28 +0000 (19:59 -0400)
committerMike Pagano <mpagano@gentoo.org>
Mon, 4 Jul 2011 23:59:28 +0000 (19:59 -0400)
portpeek
portpeek.1

index 2008b80135d4456e7eacf47de9c4cf38fd248aff..72f8666fe6c013667a68a8c96fcdd7b06e4bb1c0 100755 (executable)
--- a/portpeek
+++ b/portpeek
@@ -367,6 +367,8 @@ def get_info(filename):
                 continue
             elif line.find("#") >= 0:
                 # found '#' remove comment
+                if (skipFile(line,filename)):
+                    return
                 line = line[0:line.find("#")]
                 line = line.strip()
                 if len(line) <= 0:
@@ -387,6 +389,19 @@ def get_info(filename):
     if (filedescriptor != None):
         filedescriptor.close()
 
+# skip the file if portpeek-skip found in a comment
+# you can put this in the middle of a file and it will
+#skip all entrie below it, this is useful to speed things
+#up by not checking ~kde versions, for example
+def skipFile (line, filename):
+    if ( (line == None) or (filename == None)):
+        return False
+
+    if line.find("portpeek-skip") >= 0:
+        return True
+
+    return False
+
 # parse the package.use file and look for packages
 # not installed
 def parse_package_use(line, filename):
index e57daac01d1c0f78a9cabd3749692a4db3bafd6b..d81b4438edc40126f56d0648c49aeb443f04ff84 100644 (file)
@@ -64,6 +64,9 @@ process tilde entries ~(cat/pkg-version)
 displays the equery version
 .PP
 
+.SH "OTHER OPTIONS"
+Putting the words "portpeek-skip" with or without quotes on a comment line will make portpeek skip the rest of the file. This is useful, for example, if one has a separate KDE keywords file with many lines of the form: ~kde-base/kde-program.  These tend to take awhile to process and might be a file you don't want analyzed for every portpeek call.
+
 .SH "EXAMPLES"
 
 portpeek \-\-changes-only \-\-keyword \- list all packages with a potential upgrade located in package.keywords or package.accept_keywords