[Checkins] SVN: Sandbox/ulif/z3c.recipe.template/z3c/ Add code base.
Uli Fouquet
uli at gnufix.de
Fri Mar 6 09:39:28 EST 2009
Log message for revision 97579:
Add code base.
Changed:
A Sandbox/ulif/z3c.recipe.template/z3c/
A Sandbox/ulif/z3c.recipe.template/z3c/__init__.py
A Sandbox/ulif/z3c.recipe.template/z3c/recipe/
A Sandbox/ulif/z3c.recipe.template/z3c/recipe/__init__.py
A Sandbox/ulif/z3c.recipe.template/z3c/recipe/template/
A Sandbox/ulif/z3c.recipe.template/z3c/recipe/template/__init__.py
-=-
Added: Sandbox/ulif/z3c.recipe.template/z3c/__init__.py
===================================================================
--- Sandbox/ulif/z3c.recipe.template/z3c/__init__.py (rev 0)
+++ Sandbox/ulif/z3c.recipe.template/z3c/__init__.py 2009-03-06 14:39:28 UTC (rev 97579)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: Sandbox/ulif/z3c.recipe.template/z3c/recipe/__init__.py
===================================================================
--- Sandbox/ulif/z3c.recipe.template/z3c/recipe/__init__.py (rev 0)
+++ Sandbox/ulif/z3c.recipe.template/z3c/recipe/__init__.py 2009-03-06 14:39:28 UTC (rev 97579)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: Sandbox/ulif/z3c.recipe.template/z3c/recipe/template/__init__.py
===================================================================
--- Sandbox/ulif/z3c.recipe.template/z3c/recipe/template/__init__.py (rev 0)
+++ Sandbox/ulif/z3c.recipe.template/z3c/recipe/template/__init__.py 2009-03-06 14:39:28 UTC (rev 97579)
@@ -0,0 +1,52 @@
+import logging
+import os
+import re
+import stat
+import zc.buildout
+
+class Recipe:
+ def __init__(self, buildout, name, options):
+ self.buildout=buildout
+ self.name=name
+ self.options=options
+ self.logger=logging.getLogger(self.name)
+
+ if "input" not in options:
+ self.logger.error("No input file specified.")
+ raise zc.buildout.UserError("No input file specified.")
+
+ if "output" not in options:
+ self.logger.error("No output file specified.")
+ raise zc.buildout.UserError("No output file specified.")
+
+
+ self.input=options["input"]
+ if not os.path.exists(self.input):
+ msg="Input file '%s' does not exist." % self.input
+ self.logger.error(msg)
+ raise zc.buildout.UserError(msg)
+
+ self.output=options["output"]
+
+
+ def install(self):
+ mode=stat.S_IMODE(os.stat(self.input).st_mode)
+ source=open(self.input).read()
+ template=re.sub(r"\$\{([^:]+?)\}", r"${%s:\1}" % self.name, source)
+ result=self.options._sub(template, [])
+
+ output=open(self.output, "wt")
+ output.write(result)
+ output.close()
+
+ os.chmod(self.output, mode)
+
+ self.options.created(self.output)
+ return self.options.created()
+
+
+ def update(self):
+ # Variables in other parts might have changed so we need to do a
+ # full reinstall.
+ return self.install()
+
More information about the Checkins
mailing list