[Checkins] SVN: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/ added
registerMapper() to wrapper API
Andreas Jung
andreas at andreas-jung.com
Mon Apr 16 12:39:13 EDT 2007
Log message for revision 74187:
added registerMapper() to wrapper API
Changed:
U z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt
U z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
U z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/interfaces.py
U z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py
-=-
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt 2007-04-16 16:32:19 UTC (rev 74186)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt 2007-04-16 16:39:11 UTC (rev 74187)
@@ -1,9 +1,13 @@
0.1.7 (unreleased)
- - replace 'echo' parameter of the constructor with a generic **kw
+ - replaced 'echo' parameter of the constructor with a generic **kw
parameter in order to provide full parameter support for
create_engine. Optional arguments passed to the constructur are
passed directly to create_engine()
+
+ - fixed the documentation a bit
+
+ - added registerMapper() to BaseWrapper class
0.1.6 (28.03.2007)
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py 2007-04-16 16:32:19 UTC (rev 74186)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py 2007-04-16 16:39:11 UTC (rev 74187)
@@ -79,6 +79,9 @@
def session(self):
return sqlalchemy.create_session(self._engine)
+ def registerMapper(self, mapper, name):
+ self._mappers.registerMapper(mapper, name)
+
def getMapper(self, tablename, schema='public'):
return self._mappers.getMapper(tablename, schema)
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/interfaces.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/interfaces.py 2007-04-16 16:32:19 UTC (rev 74186)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/interfaces.py 2007-04-16 16:39:11 UTC (rev 74187)
@@ -41,6 +41,8 @@
# session = Object(title=u'Computed attributed (creates a new sqlalchemy.Session')
+ def registerMapper(mapper, name):
+ """ register your own mapper under a custom name """
def getMapper(tablename, schema='public'):
""" return a mapper class for a table given by its
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py 2007-04-16 16:32:19 UTC (rev 74186)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py 2007-04-16 16:39:11 UTC (rev 74187)
@@ -127,12 +127,17 @@
properties[table_refname] = relation(table_ref_mapper)
# create a mapper and cache it
- self._lock.acquire()
- self[name] = self._mapper_factory(table,
- properties=properties,
- cls=mapper_class)
+ mapper = self._mapper_factory(table,
+ properties=properties,
+ cls=mapper_class)
+ self.registerMapper(mapper, name)
- self._lock.release()
+ return self[name]
- return self[name]
-
+
+ def registerMapper(self, mapper, name):
+ """ register a mapper under a given name """
+
+ self._lock.acquire()
+ self[name] = mapper
+ self._lock.release()
More information about the Checkins
mailing list