[Repoze-checkins] r601 - in repoze.trac/trunk: . repoze/trac repoze/trac/etc

Chris McDonough chrism at agendaless.com
Wed Dec 5 16:33:37 UTC 2007


Author: Chris McDonough <chrism at agendaless.com>
Date: Wed Dec  5 16:33:37 2007
New Revision: 601

Log:
0.2... build an instance and rely on pysqlite.



Added:
   repoze.trac/trunk/repoze/trac/etc/
   repoze.trac/trunk/repoze/trac/etc/paste.ini
Modified:
   repoze.trac/trunk/repoze/trac/__init__.py
   repoze.trac/trunk/setup.py

Modified: repoze.trac/trunk/repoze/trac/__init__.py
==============================================================================
--- repoze.trac/trunk/repoze/trac/__init__.py	(original)
+++ repoze.trac/trunk/repoze/trac/__init__.py	Wed Dec  5 16:33:37 2007
@@ -1,3 +1,7 @@
+import os
+import re
+import sys
+
 from trac.web.main import dispatch_request
 
 class TracApp:
@@ -14,4 +18,28 @@
         raise ValueError('"path=" required for make_trac setup')
     return TracApp(path)
 
+# I would use string.Template, but it's just too hard to change it to
+# respect only ${brace} syntax instead of both that and $name syntax.
+TOKEN_RE = re.compile(r'\$\{([\.\w/-]+)\}')
+def rewrite(repltext, **kw):
+    def replace(match):
+        return kw[match.group(1)]
+    return TOKEN_RE.sub(replace, repltext)
+
+def make_instance(sandbox=None):
+    if sandbox is None:
+        sandbox = sys.prefix
+        
+    for dir in ('etc', 'var'):
+        path = os.path.join(sandbox, dir)
+        if not os.path.exists(path):
+            os.makedirs(path)
 
+    for source, target in (
+        ('paste.ini', 'paste.ini'),
+        ):
+        template = open(os.path.join(here, 'etc', source), 'r').read()
+        result = rewrite(template, sandbox=sandbox)
+        targetfile = os.path.join(sandbox, 'etc', target)
+        if not os.path.exists(targetfile):
+            open(targetfile, 'w').write(result)

Added: repoze.trac/trunk/repoze/trac/etc/paste.ini
==============================================================================
--- (empty file)
+++ repoze.trac/trunk/repoze/trac/etc/paste.ini	Wed Dec  5 16:33:37 2007
@@ -0,0 +1,14 @@
+[DEFAULT]
+debug = True
+
+[app:trac]
+paste.app_factory = repoze.trac:make_trac
+path = %(here)s
+
+[pipeline:main]
+pipeline = egg:Paste#cgitb trac
+
+[server:main]
+use = egg:Paste#http
+host = 127.0.0.1
+port = 8080

Modified: repoze.trac/trunk/setup.py
==============================================================================
--- repoze.trac/trunk/setup.py	(original)
+++ repoze.trac/trunk/setup.py	Wed Dec  5 16:33:37 2007
@@ -12,7 +12,7 @@
 #
 ##############################################################################
 
-__version__ = '0.1'
+__version__ = '0.2'
 
 import os
 
@@ -48,11 +48,11 @@
       namespace_packages=['repoze'],
       zip_safe=False,
       tests_require = [],
-      install_requires=['trac'],
+      install_requires=['trac', 'pysqlite'],
       #test_suite="repoze.",
       entry_points = """\
-        #[repoze.project]
-        #initialize = repoze.atemplate.instance:mkinstance
+        [repoze.project]
+        initialize = repoze.trac:make_instance
 
         [paste.app_factory]
         trac = repoze.trac:make_trac


More information about the Repoze-checkins mailing list