[z3-checkins] r54979 - in z3/deliverance/DeliveranceVHoster/trunk: . dvhoster
magicbronson at codespeak.net
magicbronson at codespeak.net
Tue May 20 00:30:10 CEST 2008
Author: magicbronson
Date: Tue May 20 00:30:09 2008
New Revision: 54979
Modified:
z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py
z3/deliverance/DeliveranceVHoster/trunk/dvhoster/model.py
z3/deliverance/DeliveranceVHoster/trunk/fassembler_config.ini_tmpl
Log:
Added a default_rules_dir option that is searched for rules after the host-specific rules. No longer write out a default rules.xml file, relying instead on the default_rules_dir files to serve as a starting point.
Modified: z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py
==============================================================================
--- z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py (original)
+++ z3/deliverance/DeliveranceVHoster/trunk/dvhoster/dispatcher.py Tue May 20 00:30:09 2008
@@ -4,6 +4,7 @@
from paste.request import path_info_pop, construct_url
from paste import httpexceptions
from paste.urlparser import StaticURLParser
+from paste.cascade import Cascade
from paste.fileapp import FileApp
from paste.deploy.converters import asbool
from wsgifilter import proxyapp
@@ -61,6 +62,10 @@
logger = make_logger(app_conf.get('logger'), 'dvhoster')
self.logger = logger
+
+ self.default_rules = app_conf.get('default_rules_dir',
+ os.path.join(data_dir, 'default_rules'))
+ self.default_rules_app = StaticURLParser(self.default_rules)
def __call__(self, environ, start_response):
"""
@@ -86,8 +91,9 @@
if path_info.startswith('/_rules'):
path_info_pop(environ)
environ['QUERY_STRING'] = ''
- subapp = StaticURLParser(
- domain_info.rule_dir)
+ print 'cascading applications in', domain_info.rule_dir, self.default_rules
+ subapp = Cascade([StaticURLParser(domain_info.rule_dir),
+ self.default_rules_app])
return subapp(environ, start_response)
static_app = self.find_static_file(domain_info, path_info)
Modified: z3/deliverance/DeliveranceVHoster/trunk/dvhoster/model.py
==============================================================================
--- z3/deliverance/DeliveranceVHoster/trunk/dvhoster/model.py (original)
+++ z3/deliverance/DeliveranceVHoster/trunk/dvhoster/model.py Tue May 20 00:30:09 2008
@@ -13,26 +13,6 @@
domain_re = re.compile(r'^[a-z][a-z0-9-]+|[a-z][a-z0-9.\-]+\.[a-z]+$', re.I)
-default_rule_xml = '''\
-<?xml version="1.0" encoding="UTF-8"?>
-<rules xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.plone.org/deliverance" >
- <xi:include href="standardrules.xml" />
-
- <copy theme="//div[@id='container']" content="//*[@id='portal-columns']" />
-</rules>
-'''
-
-marker = '<!-- Generated, do not edit! -->'
-abstract_rule_xml = '''\
-<?xml version="1.0" encoding="UTF-8"?>
-MARKER
-<rules xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.plone.org/deliverance" >
- <xi:include href="standardrules.xml" />
-
- <copy theme="//*[%(theme_expr)s]" content="//*[%(content_expr)s]" />
-</rules>
-'''.replace('MARKER', marker)
-
default_standardrules = '''\
<?xml version="1.0" encoding="UTF-8"?>
<rules xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.plone.org/deliverance">
@@ -207,14 +187,6 @@
self.static_dir]:
if not os.path.exists(dir):
os.mkdir(dir)
- for filename, content in [
- ('rule.xml', default_rule_xml),
- ('standardrules.xml', default_standardrules)]:
- filename = os.path.join(self.rule_dir, filename)
- if not os.path.exists(filename):
- f = open(filename, 'w')
- f.write(content)
- f.close()
@property
def initialized(self):
Modified: z3/deliverance/DeliveranceVHoster/trunk/fassembler_config.ini_tmpl
==============================================================================
--- z3/deliverance/DeliveranceVHoster/trunk/fassembler_config.ini_tmpl (original)
+++ z3/deliverance/DeliveranceVHoster/trunk/fassembler_config.ini_tmpl Tue May 20 00:30:09 2008
@@ -77,6 +77,9 @@
# This is at least better than the old fallback of hitting openplans.org.
default_theme_uri = {{project.req_settings.get('default_theme_uri', '/theme.html')}}
+# Deliverance will look for rules in this directory if a host-specific
+# rule is not found.
+default_rules_dir = {{env.var}}/deliverance/default_rules
# Specifies whether to load authentication middleware
auth_enabled = True
More information about the z3-checkins
mailing list