[z3-checkins] r34802 - in z3/deliverance/DeliveranceDemo/trunk: . DeliveranceDemo.egg-info cache_data cache_data/templates cache_data/templates/lock cache_data/templates/obj data data/x.colorstudy.com ddemo ddemo/controllers ddemo/public ddemo/templates ddemo/tests

ianb at codespeak.net ianb at codespeak.net
Mon Nov 20 18:46:10 CET 2006


Author: ianb
Date: Mon Nov 20 18:45:57 2006
New Revision: 34802

Added:
   z3/deliverance/DeliveranceDemo/trunk/
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/PKG-INFO
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/SOURCES.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/dependency_links.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/entry_points.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/paste_deploy_config.ini_tmpl
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/paster_plugins.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/requires.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/top_level.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/README.txt   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/cache_data/
   z3/deliverance/DeliveranceDemo/trunk/cache_data/templates/
   z3/deliverance/DeliveranceDemo/trunk/cache_data/templates/lock/
   z3/deliverance/DeliveranceDemo/trunk/cache_data/templates/obj/
   z3/deliverance/DeliveranceDemo/trunk/data/
   z3/deliverance/DeliveranceDemo/trunk/data/x.colorstudy.com/
   z3/deliverance/DeliveranceDemo/trunk/ddemo/
   z3/deliverance/DeliveranceDemo/trunk/ddemo/__init__.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/controllers/
   z3/deliverance/DeliveranceDemo/trunk/ddemo/controllers/__init__.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/dataprovider.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/dispatcher.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/helpers.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/public/
   z3/deliverance/DeliveranceDemo/trunk/ddemo/public/index.html   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/routing.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/templates/
   z3/deliverance/DeliveranceDemo/trunk/ddemo/templates/autohandler
   z3/deliverance/DeliveranceDemo/trunk/ddemo/tests/
   z3/deliverance/DeliveranceDemo/trunk/ddemo/tests/__init__.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/ddemo/wsgiapp.py   (contents, props changed)
   z3/deliverance/DeliveranceDemo/trunk/development.ini
   z3/deliverance/DeliveranceDemo/trunk/setup.cfg
   z3/deliverance/DeliveranceDemo/trunk/setup.py   (contents, props changed)
Log:
Added project (new layout)



Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/PKG-INFO
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/PKG-INFO	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,10 @@
+Metadata-Version: 1.0
+Name: DeliveranceDemo
+Version: 0.0.0dev
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: UNKNOWN
+Description: UNKNOWN
+Platform: UNKNOWN

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/SOURCES.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/SOURCES.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,16 @@
+README.txt
+setup.cfg
+setup.py
+DeliveranceDemo.egg-info/PKG-INFO
+DeliveranceDemo.egg-info/SOURCES.txt
+DeliveranceDemo.egg-info/dependency_links.txt
+DeliveranceDemo.egg-info/entry_points.txt
+DeliveranceDemo.egg-info/paste_deploy_config.ini_tmpl
+DeliveranceDemo.egg-info/requires.txt
+DeliveranceDemo.egg-info/top_level.txt
+ddemo/__init__.py
+ddemo/helpers.py
+ddemo/routing.py
+ddemo/wsgiapp.py
+ddemo/controllers/__init__.py
+ddemo/tests/__init__.py

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/dependency_links.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/dependency_links.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1 @@
+

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/entry_points.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/entry_points.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,6 @@
+
+    [paste.app_factory]
+    main=ddemo:make_app
+    [paste.app_install]
+    main=paste.script.appinstall:Installer
+    
\ No newline at end of file

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/paste_deploy_config.ini_tmpl
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/paste_deploy_config.ini_tmpl	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,40 @@
+#
+# DeliveranceDemo - Pylons configuration
+#
+# The %(here)s variable will be replaced with the parent directory of this file
+#
+[DEFAULT]
+debug = true
+email_to = you at yourdomain.com
+smtp_server = localhost
+error_email_from = paste at localhost
+
+[server:main]
+use = egg:Paste#http
+host = 0.0.0.0
+port = 5000
+
+[app:main]
+use = egg:DeliveranceDemo
+cache_dir = %(here)s/data
+session_key = ddemo
+session_secret = ${app_instance_secret}
+app_instance_uuid = ${app_instance_uuid}
+
+# If you'd like to fine-tune the individual locations of the cache data dirs
+# for Myghty, the Cache data, or the Session saves, un-comment the desired
+# settings here:
+#myghty_data_dir = %(here)s/data/templates
+#cache_data_dir = %(here)s/data/cache
+#session_data_dir = %(here)s/data/sessions
+
+# Specify the database for SQLObject to use via pylons.database.PackageHub.
+# %(here) may include a ':' character on Windows environments; this can
+# invalidate the URI when specifying a SQLite db via path name. Refer to the
+# SQLObject documentation for a special syntax to preserve the URI.
+#sqlobject.dburi = sqlite:%(here)s/somedb.db
+
+# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
+# Debug mode will enable the interactive debugging tool, allowing ANYONE to
+# execute malicious code after an exception is raised.
+set debug = false

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/paster_plugins.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/paster_plugins.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,3 @@
+Pylons
+WebHelpers
+PasteScript

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/requires.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/requires.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1 @@
+Pylons>=0.9.3
\ No newline at end of file

Added: z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/top_level.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/DeliveranceDemo.egg-info/top_level.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1 @@
+ddemo

Added: z3/deliverance/DeliveranceDemo/trunk/README.txt
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/README.txt	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,19 @@
+This file is for you to describe the DeliveranceDemo application. Typically
+you would include information such as the information below:
+
+Installation and Setup
+======================
+
+Install ``DeliveranceDemo`` using easy_install::
+
+    easy_install DeliveranceDemo
+
+Make a config file as follows::
+
+    paster make-config DeliveranceDemo config.ini
+    
+Tweak the config file as appropriate and then setup the application::
+
+    paster setup-app config.ini
+    
+Then you are ready to go.

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/__init__.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/__init__.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,8 @@
+"""
+ddemo
+
+This file loads the finished app from ddemo.config.middleware.
+
+"""
+
+from ddemo.wsgiapp import make_app

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/controllers/__init__.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/controllers/__init__.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,13 @@
+from pylons import Response, c, g, cache, request, session
+from pylons.controllers import WSGIController
+from pylons.decorators import jsonify, validate
+from pylons.templating import render, render_response
+from pylons.helpers import abort, redirect_to, etag_cache
+import ddemo.helpers as h
+
+class BaseController(WSGIController):
+    def __call__(self, environ, start_response):
+        # Insert any code to be run per request here. The Routes match
+        # is under environ['pylons.routes_dict'] should you want to check
+        # the action or route vars here
+        return WSGIController.__call__(self, environ, start_response)

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/dataprovider.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/dataprovider.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,90 @@
+import re
+import os
+
+domain_re = re.compile(r'^[a-z][a-z0-9.\-]+\.[a-z]+$', re.I)
+
+class DataProvider(object):
+
+    def __init__(self, dir):
+        self.dir = dir
+        if not os.path.exists(self.dir):
+            print 'Creating data directory %s' % self.dir
+            os.makedirs(self.dir)
+
+    def domain(self, domain_name):
+        domain_name = self.normalize(domain_name)
+        dir = os.path.join(self.dir, domain_name)
+        if not os.path.exists(dir):
+            os.mkdir(dir)
+        return DomainDataProvider(domain_name, dir)
+
+    def normalize(self, domain_name):
+        domain_name = domain_name.strip().lower()
+        if not domain_re.search(domain_name):
+            raise ValueError(
+                'Bad domain name: %r' % domain_name)
+        return domain_name
+
+class file_property(object):
+
+    def __init__(self, basename):
+        self.basename = basename
+
+    def filename(self, obj):
+        return os.path.join(obj.dir, self.basename)
+
+    def __get__(self, obj, type=None):
+        if obj is None:
+            return self
+        if not os.path.exists(self.filename(obj)):
+            return None
+        f = open(filename, 'rb')
+        c = f.read()
+        f.close()
+
+    def __set__(self, obj, value):
+        f = open(self.filename(obj), 'wb')
+        f.write(value)
+        f.close()
+
+    def __del__(self, obj):
+        os.unlink(self.filename(obj))
+
+    def __repr__(self):
+        return '%s(%r)' % (
+            self.__class__.__name__, self.basename)
+
+class DomainDataProvider(object):
+
+    def __init__(self, domain_name, dir):
+        self.domain_name = domain_name
+        self.dir = dir
+
+    def __repr__(self):
+        return '<%s %s for %s in %r>' % (
+            self.__class__.__name__,
+            hex(id(self)),
+            self.domain_name,
+            self.dir)
+
+    def initialize(self):
+        for dir in [self.dir, self.rule_dir,
+                    self.static_dir]:
+            if not os.path.exists(dir):
+                os.mkdir(dir)
+
+    @property
+    def initialized(self):
+        return os.path.exists(
+            os.path.join(self.dir, 'remote.txt'))
+
+    @property
+    def rule_dir(self):
+        return os.path.join(self.dir, 'rules')
+
+    @property
+    def static_dir(self):
+        return os.path.join(self.dir, 'static')
+    
+    remote = file_property('remote.txt')
+    theme_uri = file_property('theme_uri.txt')

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/dispatcher.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/dispatcher.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,65 @@
+import posixpath
+import os
+from paste.request import path_info_pop, construct_url
+from paste import httpexceptions
+from paste.urlparser import StaticURLParser
+from paste.fileapp import FileApp
+from wsgifilter import proxyapp
+from deliverance.wsgimiddleware import DeliveranceMiddleware
+from ddemo.dataprovider import DataProvider
+
+def norm_path(urlpath):
+    if not urlpath:
+        urlpath = '/'
+    assert urlpath.startswith('/')
+    urlpath = posixpath.normpath(posixpath.abspath(urlpath))
+    return urlpath
+
+class DeliveranceDispatcher(object):
+
+    def __init__(self, pylons_app, app_conf):
+        self.pylons_app = pylons_app
+        data_dir = app_conf['data_dir']
+        self.provider = DataProvider(data_dir)
+
+    def __call__(self, environ, start_response):
+        domain = environ['HTTP_HOST']
+        if ':' in domain:
+            domain = domain.split(':', 1)[0]
+        domain_info = self.provider.domain(domain)
+        environ['ddemo.domain_info'] = domain_info
+        path_info = norm_path(environ.get('PATH_INFO', ''))
+        if path_info.startswith('/_deliverance'):
+            path_info_pop(environ)
+            return self.pylons_app(environ, start_response)
+        if not domain_info.initialized:
+            new_url = construct_url(
+                environ, with_query_string=False,
+                path_info='/_deliverance')
+            exc = httpexceptions.HTTPTemporaryRedirect(
+                headers=[('location', new_url)])
+            return exc(environ, start_response)
+        if path_info.startswith('/_rules'):
+            path_info_pop(environ)
+            subapp = StaticURLParser(
+                domain_info.rule_dir)
+            return subapp(environ, start_response)
+        static_path = os.path.join(domain_info.static_dir,
+                                   path_info.lstrip('/'))
+        if os.path.exists(static_path):
+            # Explicit override of a file
+            app = FileApp(static_path)
+            return app(environ, start_response)
+        app = proxyapp.ForcedProxy(
+            remote=domain_info.remote,
+            force_host=True)
+        app = proxyapp.RelocateMiddleware(
+            app, old_href=domain_info.remote)
+        rule_uri = construct_url(
+            environ, with_query_string=False,
+            path_info='/_rules')
+        app = DeliveranceMiddleware(
+            app,
+            theme_uri=domain_info.theme_uri,
+            rule_uri=rule_uri)
+        return app(environ, start_response)

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/helpers.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/helpers.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,7 @@
+"""
+Helper functions
+
+All names available in this module will be available under the Pylons h object.
+"""
+from webhelpers import *
+from pylons.helpers import _, log, set_lang, get_lang

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/public/index.html
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/public/index.html	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+   "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <title>Pylons Default Page</title>
+  <style>
+    body { background-color: #fff; color: #333; }
+
+    body, p {
+      font-family: verdana, arial, helvetica, sans-serif;
+      font-size:   12px;
+      line-height: 18px;
+    }
+    pre {
+      background-color: #eee;
+      padding: 10px;
+      font-size: 11px;
+      line-height: 13px;
+    }
+
+    a { color: #000; }
+    a:visited { color: #666; }
+    a:hover { color: #fff; background-color:#000; }
+  </style>
+</head>
+<body>
+
+<h1>Welcome to your Pylons Web Application</h1>
+
+<h2>Weren't expecting to see this page?</h2>
+
+<p>The ddemo/public/ directory is searched for static files
+ <i>before</i> your controllers are run. Remove this file (ddemo/public/index.html) and edit
+  the routes in <tt>ddemo/config/routing.py</tt> like so:
+  <pre> map.connect('', controller='hello', action='index')</pre>
+</p>
+
+<h2>Getting Started</h2>
+<p>You're now ready to start creating your own web application. Here's what a basic controller looks
+like to print out 'Hello World' and respond to http://127.0.0.1:5000/hello:
+<pre>
+# ddemo/controllers/hello.py
+# Note that the line above is the file you should create and put the following into...
+
+from ddemo.lib.base import *
+
+class HelloController(BaseController):
+    def index(self):
+        return Response('Hello World')
+        
+</pre>
+</p>
+
+<h3>Using a template</h3>
+<p>If you want to call a template and do something a little more complex, here's an example printing out some
+request information from a Myghty template.
+<pre>
+# ddemo/templates/serverinfo.myt
+
+&lt;p>Hi, here's the server environment: &lt;br />
+&lt;% str(request.environ) %>&lt;/p>
+
+&lt;p>
+here's the URL you called: &lt;% h.url_for() %>
+&lt;/p>
+
+&lt;p>
+and here's the name you set: &lt;% c.name %>
+&lt;/p>
+
+</pre>
+
+Then add this to your hello controller class:
+<pre>
+    def serverinfo(self):
+        c.name = 'The Black Knight'
+        return render_response('/serverinfo.myt')
+</pre>
+
+You can now view the page at: <tt>http://127.0.0.1:5000/hello/serverinfo</tt>
+</p>
+</body>
+</html>

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/routing.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/routing.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,9 @@
+"""Setup your Routes options here"""
+import os
+from routes import Mapper
+
+def make_map(global_conf={}, app_conf={}):
+    root_path = os.path.dirname(os.path.abspath(__file__))
+    map = Mapper(directory=os.path.join(root_path, 'controllers'))
+    map.connect(':controller/:action/:id')
+    return map

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/templates/autohandler
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/templates/autohandler	Mon Nov 20 18:45:57 2006
@@ -0,0 +1 @@
+% m.call_next()
\ No newline at end of file

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/tests/__init__.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/tests/__init__.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,28 @@
+import os, sys
+from unittest import TestCase
+
+here_dir = os.path.dirname(__file__)
+conf_dir = os.path.dirname(os.path.dirname(here_dir))
+
+sys.path.insert(0, conf_dir)
+
+import pkg_resources
+
+pkg_resources.working_set.add_entry(conf_dir)
+
+pkg_resources.require('Paste')
+pkg_resources.require('PasteScript')
+
+from paste.deploy import loadapp
+import paste.fixture
+
+from ddemo.config.routing import *
+from routes import request_config, url_for
+
+class TestController(TestCase):
+    def __init__(self, *args):
+        wsgiapp = loadapp('config:development.ini', relative_to=conf_dir)
+        self.app = paste.fixture.TestApp(wsgiapp)
+        TestCase.__init__(self, *args)
+
+__all__ = ['url_for', 'TestController']

Added: z3/deliverance/DeliveranceDemo/trunk/ddemo/wsgiapp.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/ddemo/wsgiapp.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,61 @@
+import os
+
+from paste import httpexceptions
+from paste.cascade import Cascade
+from paste.urlparser import StaticURLParser
+from paste.registry import RegistryManager
+from paste.deploy.config import ConfigMiddleware
+from paste.deploy.converters import asbool
+
+import pylons.wsgiapp
+import pylons.config
+from pylons.error import error_template
+from pylons.middleware import ErrorHandler, ErrorDocuments, StaticJavascripts, error_mapper
+
+import ddemo.helpers
+from ddemo.routing import make_map
+
+from ddemo.dispatcher import DeliveranceDispatcher
+
+def load_environment(global_conf={}, app_conf={}):
+    map = make_map(global_conf, app_conf)
+    root_path = os.path.dirname(os.path.abspath(__file__))
+    paths = {'root_path': root_path,
+             'controllers': os.path.join(root_path, 'controllers'),
+             'templates': [os.path.join(root_path, 'templates')],
+             'static_files': os.path.join(root_path, 'public')
+             }
+    myghty = dict(log_errors=True)
+    return pylons.config.Config(myghty, map, paths)
+
+class Globals(object):
+    def __init__(self, global_conf, app_conf, **extra):
+        pass
+
+def make_app(global_conf, full_stack=True, **app_conf):
+    """Create a WSGI application and return it"""
+    # Load our Pylons configuration defaults
+    config = load_environment(global_conf, app_conf)
+    config.init_app(global_conf, app_conf, package='ddemo')
+        
+    # Load our default Pylons WSGI app and make g available
+    app = pylons.wsgiapp.PylonsApp(config, helpers=ddemo.helpers, g=Globals)
+    g = app.globals
+    app = ConfigMiddleware(app, {'app_conf':app_conf,
+        'global_conf':global_conf})
+    
+    # <-- YOUR MIDDLEWARE HERE
+        
+    # Build the rest of the stack, see a full template for more details
+    if asbool(full_stack):
+        app = httpexceptions.make_middleware(app, global_conf)
+    
+    app = RegistryManager(app)
+    
+    static_app = StaticURLParser(config.paths['static_files'])
+    javascripts_app = StaticJavascripts()
+    app = Cascade([static_app, javascripts_app, app])
+    app = DeliveranceDispatcher(app, app_conf)
+    if asbool(full_stack):
+        app = ErrorHandler(app, global_conf, error_template=error_template, **config.errorware)
+    return app

Added: z3/deliverance/DeliveranceDemo/trunk/development.ini
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/development.ini	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,41 @@
+#
+# DeliveranceDemo - Pylons development environment configuration
+#
+# The %(here)s variable will be replaced with the parent directory of this file
+#
+[DEFAULT]
+debug = true
+email_to = you at yourdomain.com
+smtp_server = localhost
+error_email_from = paste at localhost
+
+[server:main]
+use = egg:Paste#http
+host = 0.0.0.0
+port = 5000
+
+[app:main]
+use = egg:DeliveranceDemo
+full_stack = True
+cache_dir = %(here)s/cache_data
+data_dir = %(here)s/data
+session_key = ddemo
+session_secret = somesecret
+
+# If you'd like to fine-tune the individual locations of the cache data dirs
+# for Myghty, the Cache data, or the Session saves, un-comment the desired
+# settings here:
+#myghty_data_dir = %(here)s/data/templates
+#cache_data_dir = %(here)s/data/cache
+#session_data_dir = %(here)s/data/sessions
+
+# Specify the database for SQLObject to use via pylons.database.PackageHub.
+# %(here) may include a ':' character on Windows environments; this can
+# invalidate the URI when specifying a SQLite db via path name. Refer to the
+# SQLObject documentation for a special syntax to preserve the URI.
+#sqlobject.dburi = sqlite:%(here)s/somedb.db
+
+# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
+# Debug mode will enable the interactive debugging tool, allowing ANYONE to
+# execute malicious code after an exception is raised.
+#set debug = false

Added: z3/deliverance/DeliveranceDemo/trunk/setup.cfg
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/setup.cfg	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,34 @@
+[egg_info]
+tag_build = dev
+tag_svn_revision = true
+
+[easy_install]
+find_links = http://www.pylonshq.com/download/
+
+[pudge]
+theme = pythonpaste.org
+
+# Add extra doc files here with spaces between them
+docs = ddemo/docs/index.txt 
+
+# Doc Settings
+doc_base = ddemo/docs/
+dest = ddemo/docs/html
+
+# Add extra modules here separated with commas
+modules = ddemo
+title = Ddemo
+organization = Pylons
+
+# Optionally add extra links
+#organization_url = http://pylons.groovie.org/
+#trac_url=http://pylons.groovie.org/
+settings = no_about=true
+
+# Optionally add extra settings 
+#           link1=/community/ Community
+#           link2=/download/ Download
+ 
+[publish]
+doc-dir=ddemo/docs/html
+make-dirs=1

Added: z3/deliverance/DeliveranceDemo/trunk/setup.py
==============================================================================
--- (empty file)
+++ z3/deliverance/DeliveranceDemo/trunk/setup.py	Mon Nov 20 18:45:57 2006
@@ -0,0 +1,21 @@
+from setuptools import setup, find_packages
+
+setup(
+    name='DeliveranceDemo',
+    version="",
+    #description="",
+    #author="",
+    #author_email="",
+    #url="",
+    install_requires=["Pylons>=0.9.3"],
+    packages=find_packages(),
+    include_package_data=True,
+    test_suite = 'nose.collector',
+    package_data={'ddemo': ['i18n/*/LC_MESSAGES/*.mo']},
+    entry_points="""
+    [paste.app_factory]
+    main=ddemo:make_app
+    [paste.app_install]
+    main=paste.script.appinstall:Installer
+    """,
+)
\ No newline at end of file


More information about the z3-checkins mailing list