276 |
276 |
277 def system_sql(self, sql, args=None, rollback_on_failure=True): |
277 def system_sql(self, sql, args=None, rollback_on_failure=True): |
278 """return a sql cursor on the system database""" |
278 """return a sql cursor on the system database""" |
279 if not sql.split(None, 1)[0].upper() == 'SELECT': |
279 if not sql.split(None, 1)[0].upper() == 'SELECT': |
280 self.mode = 'write' |
280 self.mode = 'write' |
281 return self.pool.source('system').doexec(self, sql, args, |
281 source = self.pool.source('system') |
282 rollback=rollback_on_failure) |
282 try: |
|
283 return source.doexec(self, sql, args, rollback=rollback_on_failure) |
|
284 except (source.OperationalError, source.InterfaceError): |
|
285 source.warning("trying to reconnect") |
|
286 self.pool.reconnect(self) |
|
287 return source.doexec(self, sql, args, rollback=rollback_on_failure) |
283 |
288 |
284 def set_language(self, language): |
289 def set_language(self, language): |
285 """i18n configuration for translation""" |
290 """i18n configuration for translation""" |
286 vreg = self.vreg |
291 vreg = self.vreg |
287 language = language or self.user.property_value('ui.language') |
292 language = language or self.user.property_value('ui.language') |