[Checkins] SVN: grokapps/rdbexample/ Import a completely
non-working early sketch of an example app
Martijn Faassen
faassen at infrae.com
Thu May 1 11:22:35 EDT 2008
Log message for revision 86007:
Import a completely non-working early sketch of an example app
for relational database integration for Grok. Everything in here
is going to be a rather experimental prototype for a while.
Changed:
A grokapps/rdbexample/
A grokapps/rdbexample/trunk/
A grokapps/rdbexample/trunk/buildout.cfg
A grokapps/rdbexample/trunk/megrok.rdb/
A grokapps/rdbexample/trunk/megrok.rdb/README.txt
A grokapps/rdbexample/trunk/megrok.rdb/docs/
A grokapps/rdbexample/trunk/megrok.rdb/docs/HISTORY.txt
A grokapps/rdbexample/trunk/megrok.rdb/setup.py
A grokapps/rdbexample/trunk/megrok.rdb/src/
A grokapps/rdbexample/trunk/megrok.rdb/src/megrok/
A grokapps/rdbexample/trunk/megrok.rdb/src/megrok/__init__.py
A grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/
A grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/__init__.py
A grokapps/rdbexample/trunk/setup.py
A grokapps/rdbexample/trunk/src/
A grokapps/rdbexample/trunk/src/rdbexample/
A grokapps/rdbexample/trunk/src/rdbexample/__init__.py
A grokapps/rdbexample/trunk/src/rdbexample/app.py
A grokapps/rdbexample/trunk/src/rdbexample/app_templates/
A grokapps/rdbexample/trunk/src/rdbexample/app_templates/index.pt
A grokapps/rdbexample/trunk/src/rdbexample/configure.zcml
A grokapps/rdbexample/trunk/src/rdbexample/ftesting.zcml
A grokapps/rdbexample/trunk/src/rdbexample/testing.py
-=-
Added: grokapps/rdbexample/trunk/buildout.cfg
===================================================================
--- grokapps/rdbexample/trunk/buildout.cfg (rev 0)
+++ grokapps/rdbexample/trunk/buildout.cfg 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,66 @@
+[buildout]
+develop = . megrok.rdb
+parts = app data zopectl i18n test
+find-links = http://download.zope.org/distribution/
+eggs-directory = /home/faassen/buildout-eggs
+newest = false
+extends= http://grok.zope.org/releaseinfo/grok-0.12.cfg
+versions = versions
+
+[app]
+recipe = zc.zope3recipes>=0.5.3:application
+eggs = rdbexample
+site.zcml = <include package="rdbexample" />
+ <include package="zope.app.twisted" />
+
+ <configure i18n_domain="rdbexample">
+ <unauthenticatedPrincipal id="zope.anybody"
+ title="Unauthenticated User" />
+ <unauthenticatedGroup id="zope.Anybody"
+ title="Unauthenticated Users" />
+ <authenticatedGroup id="zope.Authenticated"
+ title="Authenticated Users" />
+ <everybodyGroup id="zope.Everybody"
+ title="All Users" />
+ <principal id="zope.manager"
+ title="Manager"
+ login="admin"
+ password_manager="Plain Text"
+ password="admin"
+ />
+
+ <!-- Replace the following directive if you don't want
+ public access -->
+ <grant permission="zope.View"
+ principal="zope.Anybody" />
+ <grant permission="zope.app.dublincore.view"
+ principal="zope.Anybody" />
+
+ <role id="zope.Manager" title="Site Manager" />
+ <role id="zope.Member" title="Site Member" />
+ <grantAll role="zope.Manager" />
+ <grant role="zope.Manager"
+ principal="zope.manager" />
+ </configure>
+
+[data]
+recipe = zc.recipe.filestorage
+
+# this section named so that the start/stop script is called bin/zopectl
+[zopectl]
+recipe = zc.zope3recipes:instance
+application = app
+zope.conf = ${data:zconfig}
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = rdbexample
+defaults = ['--tests-pattern', '^f?tests$', '-v']
+
+# this section named so that the i18n scripts are called bin/i18n...
+[i18n]
+recipe = lovely.recipe:i18n
+package = rdbexample
+domain = rdbexample
+location = src/rdbexample
+output = locales
Added: grokapps/rdbexample/trunk/megrok.rdb/README.txt
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/README.txt (rev 0)
+++ grokapps/rdbexample/trunk/megrok.rdb/README.txt 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,4 @@
+Introduction
+============
+
+
Added: grokapps/rdbexample/trunk/megrok.rdb/docs/HISTORY.txt
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/docs/HISTORY.txt (rev 0)
+++ grokapps/rdbexample/trunk/megrok.rdb/docs/HISTORY.txt 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,8 @@
+Changelog
+=========
+
+0.1 - Unreleased
+----------------
+
+* Initial release
+
Added: grokapps/rdbexample/trunk/megrok.rdb/setup.py
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/setup.py (rev 0)
+++ grokapps/rdbexample/trunk/megrok.rdb/setup.py 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,33 @@
+from setuptools import setup, find_packages
+import os
+
+version = '0.1'
+
+setup(name='megrok.rdb',
+ version=version,
+ description="SQLAlchemy based RDB support for Grok.",
+ long_description=open("README.txt").read() + "\n" +
+ open(os.path.join("docs", "HISTORY.txt")).read(),
+ # Get more strings from http://www.python.org/pypi?%3Aaction=list_classifiers
+ classifiers=[
+ "Programming Language :: Python",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ ],
+ keywords='',
+ author='Grok Team',
+ author_email='grok-dev at zope.org',
+ url='',
+ license='ZPL',
+ packages=find_packages('src'),
+ package_dir = {'': 'src'},
+ namespace_packages=['megrok'],
+ include_package_data=True,
+ zip_safe=True,
+ install_requires=[
+ 'setuptools',
+ 'SQLAlchemy',
+ ],
+ entry_points="""
+ # -*- Entry points: -*-
+ """,
+ )
Added: grokapps/rdbexample/trunk/megrok.rdb/src/megrok/__init__.py
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/src/megrok/__init__.py (rev 0)
+++ grokapps/rdbexample/trunk/megrok.rdb/src/megrok/__init__.py 2008-05-01 15:22:35 UTC (rev 86007)
@@ -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: grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/__init__.py
===================================================================
Added: grokapps/rdbexample/trunk/setup.py
===================================================================
--- grokapps/rdbexample/trunk/setup.py (rev 0)
+++ grokapps/rdbexample/trunk/setup.py 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,29 @@
+from setuptools import setup, find_packages
+
+version = '0.0'
+
+setup(name='rdbexample',
+ version=version,
+ description="",
+ long_description="""\
+""",
+ # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers
+ classifiers=[],
+ keywords="",
+ author="",
+ author_email="",
+ url="",
+ license="",
+ package_dir={'': 'src'},
+ packages=find_packages('src'),
+ include_package_data=True,
+ zip_safe=False,
+ install_requires=['setuptools',
+ 'grok',
+ 'megrok.rdb',
+ 'psycopg2',
+ ],
+ entry_points="""
+ # Add entry points here
+ """,
+ )
Added: grokapps/rdbexample/trunk/src/rdbexample/__init__.py
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/__init__.py (rev 0)
+++ grokapps/rdbexample/trunk/src/rdbexample/__init__.py 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1 @@
+# this directory is a package
Added: grokapps/rdbexample/trunk/src/rdbexample/app.py
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/app.py (rev 0)
+++ grokapps/rdbexample/trunk/src/rdbexample/app.py 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,21 @@
+import grok
+from megrok import rdb
+
+class rdbexample(grok.Application, grok.Model):
+ def __init__(self):
+ pass
+
+ def traverse(self, name):
+ if name == 'departments':
+ self.departments = Departments()
+
+
+class Index(grok.View):
+ pass # see app_templates/index.pt
+
+
+class Departments(rdb.Container):
+ pass
+
+class Department(rdb.Model):
+ pass
Added: grokapps/rdbexample/trunk/src/rdbexample/app_templates/index.pt
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/app_templates/index.pt (rev 0)
+++ grokapps/rdbexample/trunk/src/rdbexample/app_templates/index.pt 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,11 @@
+<html>
+<head>
+</head>
+<body>
+ <h1>Congratulations!</h1>
+
+ <p>Your Grok application is up and running.
+ Edit <code>rdbexample/app_templates/index.pt</code> to change
+ this page.</p>
+</body>
+</html>
Added: grokapps/rdbexample/trunk/src/rdbexample/configure.zcml
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/configure.zcml (rev 0)
+++ grokapps/rdbexample/trunk/src/rdbexample/configure.zcml 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,6 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ xmlns:grok="http://namespaces.zope.org/grok">
+ <include package="grok" />
+ <includeDependencies package="." />
+ <grok:grok package="." />
+</configure>
Added: grokapps/rdbexample/trunk/src/rdbexample/ftesting.zcml
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/ftesting.zcml (rev 0)
+++ grokapps/rdbexample/trunk/src/rdbexample/ftesting.zcml 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,35 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ i18n_domain="rdbexample"
+ package="rdbexample"
+ >
+
+ <include package="grok" />
+ <include package="rdbexample" />
+
+ <!-- Typical functional testing security setup -->
+ <securityPolicy
+ component="zope.app.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+ />
+
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User"
+ />
+ <grant
+ permission="zope.View"
+ principal="zope.anybody"
+ />
+
+ <principal
+ id="zope.mgr"
+ title="Manager"
+ login="mgr"
+ password="mgrpw"
+ />
+
+ <role id="zope.Manager" title="Site Manager" />
+ <grantAll role="zope.Manager" />
+ <grant role="zope.Manager" principal="zope.mgr" />
+
+</configure>
Added: grokapps/rdbexample/trunk/src/rdbexample/testing.py
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/testing.py (rev 0)
+++ grokapps/rdbexample/trunk/src/rdbexample/testing.py 2008-05-01 15:22:35 UTC (rev 86007)
@@ -0,0 +1,7 @@
+import os.path
+import rdbexample
+from zope.app.testing.functional import ZCMLLayer
+
+ftesting_zcml = os.path.join(
+ os.path.dirname(rdbexample.__file__), 'ftesting.zcml')
+FunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'FunctionalLayer')
More information about the Checkins
mailing list