Added:
/trunk/python/demo
/trunk/python/demo/afterburner
/trunk/python/demo/app.yaml
/trunk/python/demo/appengine_config.py
/trunk/python/demo/cron.yaml
/trunk/python/demo/main.py
=======================================
--- /dev/null
+++ /trunk/python/demo/afterburner Fri Nov 12 03:18:40 2010
@@ -0,0 +1,1 @@
+link ../src/afterburner
=======================================
--- /dev/null
+++ /trunk/python/demo/app.yaml Fri Nov 12 03:18:40 2010
@@ -0,0 +1,12 @@
+application: abdemo
+version: 1
+runtime: python
+api_version: 1
+
+includes:
+- afterburner/experimental/db/triggers.yaml
+
+handlers:
+- url: /
+ script: main.py
+
=======================================
--- /dev/null
+++ /trunk/python/demo/appengine_config.py Fri Nov 12 03:18:40 2010
@@ -0,0 +1,1 @@
+import main
=======================================
--- /dev/null
+++ /trunk/python/demo/cron.yaml Fri Nov 12 03:18:40 2010
@@ -0,0 +1,4 @@
+cron:
+- description: triggers processing
+ url: /_ab/triggers/process
+ schedule: every 1 minutes
=======================================
--- /dev/null
+++ /trunk/python/demo/main.py Fri Nov 12 03:18:40 2010
@@ -0,0 +1,36 @@
+import logging
+
+from google.appengine.ext import db
+from google.appengine.ext import webapp
+from google.appengine.ext.webapp.util import run_wsgi_app
+
+from afterburner.experimental.db import triggers
+from afterburner.experimental.db import materialized_map as mmap
+
+
+class TestEntity(db.Model):
+ pass
+
+class FooEntity(db.Model):
+ pass
+
+...@mmap.materialized_map(TestEntity.kind())
+def test_map(entity):
+ yield FooEntity()
+
+
+class MainPage(webapp.RequestHandler):
+ def get(self):
+ TestEntity().put()
+ self.response.out.write('Hello, webapp World!')
+
+application = webapp.WSGIApplication([('/', MainPage)],
+ debug=True)
+
+
+def main():
+ run_wsgi_app(application)
+
+if __name__ == "__main__":
+ main()
+