[Checkins] SVN: z3c.sqlalchemy/trunk/ - added option 'extension_options'

Andreas Jung andreas at andreas-jung.com
Thu Sep 4 08:04:42 EDT 2008


Log message for revision 90805:
  - added option 'extension_options'
  

Changed:
  U   z3c.sqlalchemy/trunk/CHANGES.txt
  U   z3c.sqlalchemy/trunk/setup.py
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py

-=-
Modified: z3c.sqlalchemy/trunk/CHANGES.txt
===================================================================
--- z3c.sqlalchemy/trunk/CHANGES.txt	2008-09-04 12:04:05 UTC (rev 90804)
+++ z3c.sqlalchemy/trunk/CHANGES.txt	2008-09-04 12:04:42 UTC (rev 90805)
@@ -1,3 +1,8 @@
+1.3.4 (04.09.2008)
+------------------
+
+  - added 'extension_options' parameter
+
 1.3.2 (29.07.2008)
 ------------------
 

Modified: z3c.sqlalchemy/trunk/setup.py
===================================================================
--- z3c.sqlalchemy/trunk/setup.py	2008-09-04 12:04:05 UTC (rev 90804)
+++ z3c.sqlalchemy/trunk/setup.py	2008-09-04 12:04:42 UTC (rev 90805)
@@ -21,7 +21,7 @@
     'Topic :: Software Development :: Libraries :: Python Modules',
 ]
 
-version = '1.3.3'
+version = '1.3.4'
 
 desc = open('README.txt').read().strip()
 changes = open('CHANGES.txt').read().strip()

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py	2008-09-04 12:04:05 UTC (rev 90804)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/base.py	2008-09-04 12:04:42 UTC (rev 90805)
@@ -25,15 +25,22 @@
 
     implements(ISQLAlchemyWrapper)
 
-    def __init__(self, dsn, model=None, transactional=True, engine_options={}, session_options={}, **kw):
+    def __init__(self, dsn, model=None, transactional=True, 
+                 engine_options={}, session_options={}, 
+                 extension_options={}, **kw):
         """ 'dsn' - a RFC-1738-style connection string
 
             'model' - optional instance of model.Model
 
-            'engine_options' - optional keyword arguments passed to create_engine()
+            'engine_options' - optional keyword arguments passed to
+            create_engine()
 
-            'session_options' - optional keyword arguments passed to create_session() or sessionmaker()
+            'session_options' - optional keyword arguments passed to
+            create_session() or sessionmaker()
 
+            'extension_options' - optional keyword argument passed to 
+            ZopeTransactionExtension()
+
             'transactional' - True|False, only used by SQLAlchemyDA, 
                               *don't touch it*
         """
@@ -50,7 +57,8 @@
         self.engine_options = engine_options
         if 'echo' in kw:
             self.engine_options.update(echo=kw['echo'])
-        self.session_options = session_options
+        self.session_options = session_optionss
+        self.extension_options = extension_options
         self._model = None
         self._createEngine()
 
@@ -126,8 +134,8 @@
     def _createEngine(self):
         self._engine = create_engine(self.dsn, **self.engine_options)
         self._sessionmaker = scoped_session(sessionmaker(bind=self._engine, 
-                                            transactional=True, 
+                                            autocommit=False, 
                                             autoflush=True, 
-                                            extension=ZopeTransactionExtension(),
+                                            extension=ZopeTransactionExtension(self.extension_options),
                                             **self.session_options
                                             ))

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py	2008-09-04 12:04:05 UTC (rev 90804)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py	2008-09-04 12:04:42 UTC (rev 90805)
@@ -27,7 +27,10 @@
 registeredWrappers = {}
 
 def createSAWrapper(dsn, model=None, name=None, transactional=True, 
-                    engine_options={}, session_options={}, **kw):
+                    engine_options={}, 
+                    session_options={}, 
+                    extension_options={},
+                    **kw):
     """ Convenience method to generate a wrapper for a DSN and a model.
         This method hides all database related magic from the user. 
 
@@ -47,6 +50,9 @@
 
         'session_options' can be set to a dict containing keyword parameters
         passed to create_session or sessionmaker.
+
+        'extension_options' can be set to a dict containing keyword parameters
+        passed to ZopeTransactionExtension()
     """
 
     url = make_url(dsn)
@@ -60,7 +66,9 @@
     wrapper = klass(dsn, model, 
                     transactional=transactional, 
                     engine_options=engine_options, 
-                    session_options=session_options, **kw)
+                    session_options=session_options, 
+                    extension_optionis=extension_options,
+                    **kw)
     if name is not None:
         registerSAWrapper(wrapper, name)
 



More information about the Checkins mailing list