[Checkins] SVN: megrok.rdb/trunk/src/megrok/rdb/schema.py Provide a more complete set of SQLAlchemy to zope.schema adapters.

Kevin Teague kevin at bud.ca
Wed Aug 26 17:07:48 EDT 2009


Log message for revision 103240:
  Provide a more complete set of SQLAlchemy to zope.schema adapters.

Changed:
  U   megrok.rdb/trunk/src/megrok/rdb/schema.py

-=-
Modified: megrok.rdb/trunk/src/megrok/rdb/schema.py
===================================================================
--- megrok.rdb/trunk/src/megrok/rdb/schema.py	2009-08-26 19:51:00 UTC (rev 103239)
+++ megrok.rdb/trunk/src/megrok/rdb/schema.py	2009-08-26 21:07:47 UTC (rev 103240)
@@ -1,15 +1,13 @@
 #import grok
 import grokcore.component
+import zope.schema
+import sqlalchemy.types
 from zope.schema.interfaces import IField
 from zope.interface import Interface
 from zope.interface.interface import InterfaceClass
 from zope.interface.interfaces import IInterface
 from zope.component import getUtility
-from sqlalchemy.types import String, Integer
 from megrok.rdb import Model
-from zope.schema import Int
-from zope.schema import Text
-from zope.schema import TextLine
 
 #def Fields(model):
 #    return grok.Fields(schema_from_model(model))
@@ -33,15 +31,62 @@
                           attrs=attrs,
                           __doc__='Generated from metadata')
 
- at grokcore.component.adapter(String)
+ at grokcore.component.adapter(sqlalchemy.types.String)
 @grokcore.component.implementer(IField)
 def field_from_sa_string(s):
-    return TextLine(__name__ = u'__dummy__',
+    return zope.schema.TextLine(__name__ = u'__dummy__',
                 title = u'__dummy__')
 
- at grokcore.component.adapter(Integer)
+ at grokcore.component.adapter(sqlalchemy.types.Text)
 @grokcore.component.implementer(IField)
+def field_from_sa_text(s):
+    return zope.schema.Text(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.Integer)
+ at grokcore.component.implementer(IField)
 def field_from_sa_integer(i):
-    return Int(__name__ = u'__dummy__',
+    return zope.schema.Int(__name__ = u'__dummy__',
                 title = u'__dummy__')
 
+ at grokcore.component.adapter(sqlalchemy.types.Float)
+ at grokcore.component.implementer(IField)
+def field_from_sa_float(i):
+    return zope.schema.Float(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.DateTime)
+ at grokcore.component.implementer(IField)
+def field_from_sa_datetime(i):
+    return zope.schema.DateTime(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.Date)
+ at grokcore.component.implementer(IField)
+def field_from_sa_date(i):
+    return zope.schema.Date(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.Time)
+ at grokcore.component.implementer(IField)
+def field_from_sa_time(i):
+    return zope.schema.Time(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.Interval)
+ at grokcore.component.implementer(IField)
+def field_from_sa_interval(i):
+    return zope.schema.Timedelta(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.Boolean)
+ at grokcore.component.implementer(IField)
+def field_from_sa_boolean(i):
+    return zope.schema.Bool(__name__ = u'__dummy__',
+                title = u'__dummy__')
+
+ at grokcore.component.adapter(sqlalchemy.types.Binary)
+ at grokcore.component.implementer(IField)
+def field_from_sa_binary(i):
+    return zope.schema.Bytes(__name__ = u'__dummy__',
+                title = u'__dummy__')



More information about the Checkins mailing list