[Checkins] SVN: grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/ Fix unicode issue for kwargs; make (SA)session acccessible

Jasper Spaans jspaans at thehealthagency.com
Sat May 3 16:04:58 EDT 2008


Log message for revision 86282:
  Fix unicode issue for kwargs; make (SA)session acccessible

Changed:
  U   grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/__init__.py
  U   grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/db.py
  U   grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/schema.py

-=-
Modified: grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/__init__.py
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/__init__.py	2008-05-03 19:54:20 UTC (rev 86281)
+++ grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/__init__.py	2008-05-03 20:04:58 UTC (rev 86282)
@@ -2,7 +2,7 @@
 
 from megrok.rdb.components import Model, Container
 from megrok.rdb.schema import Fields
-from megrok.rdb.db import Database
+from megrok.rdb.db import Database, session
 
 from megrok.rdb.directive import key
 

Modified: grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/db.py
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/db.py	2008-05-03 19:54:20 UTC (rev 86281)
+++ grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/db.py	2008-05-03 20:04:58 UTC (rev 86282)
@@ -1,5 +1,7 @@
 import grok
 
+from zope import component
+
 from collective.lead import Database as DatabaseBase
 from collective.lead.interfaces import IDatabase
 
@@ -26,3 +28,6 @@
 
     def setup(self, metadata):
         pass
+
+def session(name='megrok.rdb'):
+    return component.getUtility(IDatabase, name).session

Modified: grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/schema.py
===================================================================
--- grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/schema.py	2008-05-03 19:54:20 UTC (rev 86281)
+++ grokapps/rdbexample/trunk/megrok.rdb/src/megrok/rdb/schema.py	2008-05-03 20:04:58 UTC (rev 86282)
@@ -12,17 +12,18 @@
 from zope.schema import TextLine
 
 def Fields(model):
-    return grok.Fields(IInterface(model))
+    return grok.Fields(schema_from_model(model))
 
- at grok.adapter(Model)
- at grok.implementer(IInterface)
 def schema_from_model(model):
     table = model.__table__
     bases = (Interface,)
     attrs = {}
     for i, column in enumerate(table.columns):
+        if len(column.foreign_keys) or column.primary_key:
+            continue
         field = IField(column.type)
-        field.__name__ = field.title = unicode(column.name)
+        field.__name__ = str(column.name)
+        field.title = unicode(column.name)
         field.required = not column.nullable
         field.order = i
         attrs[column.name] = field



More information about the Checkins mailing list