[Checkins] SVN: z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/r Use eggs in the egg option if not empty (strict_eggs option is removed).

Sébastien Douche sdouche at free.fr
Thu Oct 22 15:33:33 EDT 2009


Log message for revision 105227:
  Use eggs in the egg option if not empty (strict_eggs option is removed).
  Added 4 options :
    - exclude
    - regexp for exclude
    - dead ends
    - regexp for dead ends
  

Changed:
  U   z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/recipe.py
  U   z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/runner.py

-=-
Modified: z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/recipe.py
===================================================================
--- z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/recipe.py	2009-10-22 19:05:26 UTC (rev 105226)
+++ z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/recipe.py	2009-10-22 19:33:32 UTC (rev 105227)
@@ -22,11 +22,18 @@
         self.name = name
         self.options = options
         self.egg = Egg(buildout, options['recipe'], options)
+        self.egglist = self.options.get('egg', '').split()
+
         exclude = self.options.get('exclude', '')
         re_exclude = self.options.get('re-exclude', '')
+        dead_ends = self.options.get('dead-ends', '')
+        re_dead_ends = self.options.get('re-dead-ends', '')
+
         self.exclude = set(exclude.split())
         self.re_exclude = set(re_exclude.split())
-        self.strict_egg = self.options.get('strict-egg', '').lower() in ('1', 'true', 'yes')
+        self.dead_ends = set(dead_ends.split())
+        self.re_dead_ends = set(re_dead_ends.split())
+
         self.output = self.options.get(
             'output', os.path.join(
                 self.buildout['buildout']['parts-directory'], self.name))
@@ -59,9 +66,9 @@
                 match(name, compiled_patterns)
             return matched_names
 
-        if self.strict_egg:
-            # strict_egg is set, return only specified eggs in the recipe
-            packages = reqs
+        if self.egglist:
+            # if eggs are present in the recipe, use them
+            packages = self.egglist
         else:
             # Install an interpreter to find eggs
             packages = set([dist.project_name for dist in ws.by_key.values()])
@@ -88,6 +95,10 @@
                 path=self.output,
                 variants=variants,
                 extras=self.extras,
+                exclude = self.exclude,
+                re_exclude = self.re_exclude,
+                dead_ends = self.dead_ends,
+                re_dead_ends = self.re_dead_ends
                 ),
         )
 

Modified: z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/runner.py
===================================================================
--- z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/runner.py	2009-10-22 19:05:26 UTC (rev 105226)
+++ z3c.recipe.depgraph/branches/sdouche-exclude-eggs/src/z3c/recipe/depgraph/runner.py	2009-10-22 19:33:32 UTC (rev 105227)
@@ -1,6 +1,6 @@
 import os
 
-GENERATE = "./bin/%(scriptname)s %(extras)s-d %(package)s -i setuptools > %(output)s"
+GENERATE = "./bin/%(scriptname)s %(exclude)s %(re_exclude)s %(dead_ends)s %(re_dead_ends)s %(extras)s-d %(package)s -i setuptools > %(output)s"
 TRED = "tred %(input)s > %(output)s"
 GRAPH = "dot -Tsvg %(input)s > %(output)s"
 SCCMAP = "sccmap %(input)s > %(output)s"
@@ -11,6 +11,13 @@
     os.system(template % kwargs)
 
 
+def build_option(option, pattern):
+    result = ''
+    for i in pattern:
+        result += '%s %s ' % (option, i)
+    return result
+
+
 def main(args):
     name = args.get('name')
     packages = args.get('packages')
@@ -19,6 +26,10 @@
     scriptname = name + '-eggdeps'
     variants = args.get('variants', ['base', 'tred', 'scc'])
     extras = args.get('extras')
+    exclude = build_option('-i', args.get('exclude'))
+    re_exclude = build_option('-I', args.get('re_exclude'))
+    dead_ends = build_option('-e', args.get('dead_ends'))
+    re_dead_ends = build_option('-E', args.get('re_dead_ends'))
 
     for package in packages:
         name = package
@@ -39,6 +50,10 @@
             extras=extras,
             scriptname=scriptname,
             package=package,
+            exclude=exclude,
+            re_exclude=re_exclude,
+            dead_ends=dead_ends,
+            re_dead_ends=re_dead_ends,
             output=specfile + '.dot')
 
         execute(GRAPH,



More information about the checkins mailing list