[Checkins] SVN: megrok.rdb/trunk/src/megrok/rdb/ A few cleanups concerning location support.
Martijn Faassen
faassen at infrae.com
Thu Aug 21 10:25:00 EDT 2008
Log message for revision 90066:
A few cleanups concerning location support.
Changed:
U megrok.rdb/trunk/src/megrok/rdb/components.py
U megrok.rdb/trunk/src/megrok/rdb/tests/location.py
-=-
Modified: megrok.rdb/trunk/src/megrok/rdb/components.py
===================================================================
--- megrok.rdb/trunk/src/megrok/rdb/components.py 2008-08-21 14:16:07 UTC (rev 90065)
+++ megrok.rdb/trunk/src/megrok/rdb/components.py 2008-08-21 14:24:59 UTC (rev 90066)
@@ -10,6 +10,11 @@
from z3c.saconfig import Session
class Model(Context):
+ implements(ILocation)
+
+ __parent__ = None
+ __name__ = None
+
def __init__(self, **kwargs):
# XXX can we use the __init__ that sqlalchemy.ext.declarative sets up?
for k in kwargs:
@@ -18,6 +23,17 @@
(k, type(self).__name__))
setattr(self, k, kwargs[k])
+class LocatedModel(Model):
+ implements(ILocation)
+
+ @property
+ def __parent__(self):
+ return
+
+ @property
+ def __name__(self):
+ return
+
def default_keyfunc(node):
primary_keys = node.__table__.primary_key.keys()
if len(primary_keys) == 1:
@@ -29,6 +45,9 @@
class Container(MappedCollection):
implements(IContainer, ILocation)
+ __parent__ = None
+ __name__ = None
+
def __init__(self, *args, **kw):
rdb_key = directive.key.bind().get(self)
if rdb_key:
Modified: megrok.rdb/trunk/src/megrok/rdb/tests/location.py
===================================================================
--- megrok.rdb/trunk/src/megrok/rdb/tests/location.py 2008-08-21 14:16:07 UTC (rev 90065)
+++ megrok.rdb/trunk/src/megrok/rdb/tests/location.py 2008-08-21 14:24:59 UTC (rev 90066)
@@ -75,29 +75,16 @@
from sqlalchemy import Column, ForeignKey
from sqlalchemy.types import Integer, String
-from sqlalchemy.orm import relation, MapperExtension, EXT_CONTINUE
+from sqlalchemy.orm import relation
metadata = rdb.MetaData()
rdb.metadata(metadata)
-
-# class MyExtension(MapperExtension):
-# def init_instance(self, mapper, class_, oldinit, instance, args, kwargs):
-# if isinstance(instance, Department):
-# instance.courses.__name__ = u'courses'
-# instance.courses.__parent__ = instance
-# return EXT_CONTINUE
class Courses(rdb.Container):
- __parent__ = None
- __name__ = None
-
-class Department(rdb.Model):
-# __mapper_args__ = {'extension': MyExtension()}
+ pass
- __parent__ = None
- __name__ = None
-
+class Department(rdb.Model):
id = Column('id', Integer, primary_key=True)
name = Column('name', String(50))
courses = relation('Course',
@@ -105,9 +92,6 @@
collection_class=Courses)
class Course(rdb.Model):
- __parent__ = None
- __name__ = None
-
id = Column('id', Integer, primary_key=True)
department_id = Column('department_id', Integer,
ForeignKey('department.id'))
More information about the Checkins
mailing list