[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