equal
deleted
inserted
replaced
258 def install_sqlite_path(querier): |
258 def install_sqlite_path(querier): |
259 """This patch hotfixes the following sqlite bug : |
259 """This patch hotfixes the following sqlite bug : |
260 - http://www.sqlite.org/cvstrac/tktview?tn=1327,33 |
260 - http://www.sqlite.org/cvstrac/tktview?tn=1327,33 |
261 (some dates are returned as strings rather thant date objects) |
261 (some dates are returned as strings rather thant date objects) |
262 """ |
262 """ |
|
263 if hasattr(querier.__class__, '_devtools_sqlite_patched'): |
|
264 return # already monkey patched |
263 def wrap_execute(base_execute): |
265 def wrap_execute(base_execute): |
264 def new_execute(*args, **kwargs): |
266 def new_execute(*args, **kwargs): |
265 rset = base_execute(*args, **kwargs) |
267 rset = base_execute(*args, **kwargs) |
266 if rset.description: |
268 if rset.description: |
267 found_date = False |
269 found_date = False |
286 if not found_date: |
288 if not found_date: |
287 break |
289 break |
288 return rset |
290 return rset |
289 return new_execute |
291 return new_execute |
290 querier.__class__.execute = wrap_execute(querier.__class__.execute) |
292 querier.__class__.execute = wrap_execute(querier.__class__.execute) |
291 |
293 querier.__class__._devtools_sqlite_patched = True |
292 |
294 |
293 def init_test_database(driver='sqlite', configdir='data', config=None, |
295 def init_test_database(driver='sqlite', configdir='data', config=None, |
294 vreg=None): |
296 vreg=None): |
295 """init a test database for a specific driver""" |
297 """init a test database for a specific driver""" |
296 from cubicweb.dbapi import in_memory_cnx |
298 from cubicweb.dbapi import in_memory_cnx |