[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