]> Frank Brehm's Git Trees - scripts/root-bin.git/commitdiff
Collecting all files to perform
authorFrank Brehm <frank@brehm-online.com>
Wed, 4 Mar 2015 20:18:30 +0000 (21:18 +0100)
committerFrank Brehm <frank@brehm-online.com>
Wed, 4 Mar 2015 20:18:30 +0000 (21:18 +0100)
cleanup-pkg-keywords

index 012364ece1b0abf5ca6972ce09c68bacfb81c89d..962ba2c43987fedebe66794647fb93f6af5a3bf1 100755 (executable)
@@ -20,7 +20,7 @@ from distutils.version import LooseVersion
 from pb_base.app import PbApplicationError
 from pb_base.app import PbApplication
 
-__version__ = LooseVersion('0.2.0')
+__version__ = LooseVersion('0.3.0')
 
 appname = os.path.basename(sys.argv[0])
 log = logging.getLogger(appname)
@@ -137,7 +137,38 @@ class CleanupPkgKeywordsApp(PbApplication):
     def _run(self):
         """The underlaying startpoint of the application."""
 
-        log.info("Jetzt geht's loooos ...")
+        log.debug("Jetzt geht's loooos ...")
+
+        files2check = []
+
+        for stem in ('package.accept_keywords', 'package.keywords'):
+            path = os.path.join(self.portage_dir, stem)
+            if os.path.isfile(path):
+                files2check.append(path)
+            elif os.path.isdir(path):
+
+                #-----------------------------------
+                def show_walk_error(e):
+                    self.handle_error(
+                        error_message=str(e),
+                        exception_name=e.__class__.__name__,
+                        do_traceback=False)
+
+                for root, dirs, files in os.walk(
+                        path, onerror=show_walk_error, followlinks=True):
+                    for filename in files:
+                        full_file = os.path.join(root, filename)
+                        if os.path.isfile(full_file):
+                            files2check.append(full_file)
+
+        for fname in sorted(files2check, key=str.lower):
+            self.perform_file(fname)
+
+    # -------------------------------------------------------------------------
+    def perform_file(self, filename):
+
+            log.info("Performing %r ...", filename)
+
 
 # =============================================================================