public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/R_overlay:master commit in: roverlay/packagerules/parser/, roverlay/depres/simpledeprule/, ...
@ 2013-08-23 13:52 André Erdmann
  0 siblings, 0 replies; only message in thread
From: André Erdmann @ 2013-08-23 13:52 UTC (permalink / raw
  To: gentoo-commits

commit:     5f8542bbe5145ab5a66105908d18e4b9a9be4f8b
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Aug 22 14:34:09 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Aug 22 14:34:09 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=5f8542bb

use for_all_files_decorator()

Use common for_all_files() functionality, e.g. ignore ".git" dirs while
recursively searching for files.

---
 roverlay/depres/simpledeprule/reader.py | 16 +++++-----------
 roverlay/packagerules/parser/text.py    |  6 ++++++
 roverlay/packagerules/rules.py          |  6 ++----
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/roverlay/depres/simpledeprule/reader.py b/roverlay/depres/simpledeprule/reader.py
index e22877b..22f3cf3 100644
--- a/roverlay/depres/simpledeprule/reader.py
+++ b/roverlay/depres/simpledeprule/reader.py
@@ -15,7 +15,7 @@ __all__ = [ 'SimpleDependencyRuleReader', ]
 import os
 import logging
 
-import roverlay.util
+import roverlay.util.common
 
 from roverlay.depres.simpledeprule.rulemaker import SimpleRuleMaker
 
@@ -30,6 +30,9 @@ class SimpleDependencyRuleReader ( object ):
 
       # bind read method of the rule maker
       self.read_file = self._rmaker.read_file
+      self.read_files = roverlay.util.common.for_all_files_decorator (
+         self.read_file,
+      )
 
       self._pool_add = pool_add
       self._when_done = when_done
@@ -49,16 +52,7 @@ class SimpleDependencyRuleReader ( object ):
             "Read method is for resolver, but pool_add is None."
       )
 
-      for k in files_or_dirs:
-         if os.path.isdir ( k ):
-            if not roverlay.util.is_vcs_dir ( k ):
-               # without recursion
-               for fname in os.listdir ( k ):
-                  f = k + os.sep + fname
-                  if os.path.isfile ( f ):
-                     self.read_file ( f )
-         else:
-            self.read_file ( k )
+      self.read_files ( files_or_dirs )
 
       rule_count, pools = self._rmaker.done ( as_pool=True )
       self.logger.debug ( "Read {} rules in {} files.".format (

diff --git a/roverlay/packagerules/parser/text.py b/roverlay/packagerules/parser/text.py
index 87db0b0..1b0373b 100644
--- a/roverlay/packagerules/parser/text.py
+++ b/roverlay/packagerules/parser/text.py
@@ -4,6 +4,8 @@
 # Distributed under the terms of the GNU General Public License;
 # either version 2 of the License, or (at your option) any later version.
 
+import roverlay.util.common
+
 import roverlay.packagerules.parser.namespace
 import roverlay.packagerules.parser.context.rule
 
@@ -48,6 +50,10 @@ class RuleParser ( object ):
       self._current_rule = None
       # previous rule blocks
       self._parsed_rules = None
+
+      self.load_recursive = roverlay.util.common.for_all_files_decorator (
+         self.load
+      )
    # --- end of __init__ (...) ---
 
    def _feed ( self, l, lino ):

diff --git a/roverlay/packagerules/rules.py b/roverlay/packagerules/rules.py
index 2f2fa69..5cbe600 100644
--- a/roverlay/packagerules/rules.py
+++ b/roverlay/packagerules/rules.py
@@ -31,15 +31,13 @@ class PackageRules ( roverlay.packagerules.abstract.rules.NestedPackageRule ):
 
       This is a stub since package rule loading is not implemented.
       """
-      rules = PackageRules()
+      rules = cls()
 
       flist = roverlay.config.get ( 'package_rules.files', False )
       if flist:
-         loader = rules.get_parser()
-         roverlay.util.for_all_files ( flist, loader.load )
+         rules.get_parser().load_recursive ( flist )
 
       rules.prepare()
-
       return rules
    # --- end of get_configured (...) ---
 


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-08-23 13:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-23 13:52 [gentoo-commits] proj/R_overlay:master commit in: roverlay/packagerules/parser/, roverlay/depres/simpledeprule/, André Erdmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox