[IMP] replace double nested 'with' by the multiple manager form of the 'with' statement

This commit is contained in:
Guewen Baconnier @ Camptocamp
2012-12-05 08:51:48 +01:00
parent 4b72645671
commit d2358c2d23

View File

@@ -195,36 +195,36 @@ class pingen_document(orm.Model):
limit=100, limit=100,
context=context) context=context)
with closing(pooler.get_db(cr.dbname).cursor()) as loc_cr: with closing(pooler.get_db(cr.dbname).cursor()) as loc_cr, \
with self._get_pingen_session(cr, uid, context=context) as session: self._get_pingen_session(cr, uid, context=context) as session:
for document in self.browse(loc_cr, uid, ids, context=context): for document in self.browse(loc_cr, uid, ids, context=context):
if document.state == 'error': if document.state == 'error':
self._resolve_error(loc_cr, uid, document, context=context) self._resolve_error(loc_cr, uid, document, context=context)
document.refresh() document.refresh()
try: try:
if document.state == 'pending': if document.state == 'pending':
self._push_to_pingen( self._push_to_pingen(
loc_cr, uid, document, pingen=session, context=context) loc_cr, uid, document, pingen=session, context=context)
elif document.state == 'pushed': elif document.state == 'pushed':
self._ask_pingen_send( self._ask_pingen_send(
loc_cr, uid, document, pingen=session, context=context) loc_cr, uid, document, pingen=session, context=context)
except ConnectionError as e: except ConnectionError as e:
document.write({'last_error_message': e, document.write({'last_error_message': e,
'state': 'error'}, 'state': 'error'},
context=context) context=context)
except APIError as e: except APIError as e:
document.write({'last_error_message': e, document.write({'last_error_message': e,
'state': 'pingen_error'}, 'state': 'pingen_error'},
context=context) context=context)
except: except:
_logger.error('Unexcepted error in pingen cron') _logger.error('Unexcepted error in pingen cron')
loc_cr.rollback() loc_cr.rollback()
raise raise
loc_cr.commit() loc_cr.commit()
return True return True
@@ -366,22 +366,22 @@ class pingen_document(orm.Model):
[('state', '=', 'sendcenter')], [('state', '=', 'sendcenter')],
context=context) context=context)
with closing(pooler.get_db(cr.dbname).cursor()) as loc_cr: with closing(pooler.get_db(cr.dbname).cursor()) as loc_cr, \
with self._get_pingen_session(cr, uid, context=context) as session: self._get_pingen_session(cr, uid, context=context) as session:
for document in self.browse(loc_cr, uid, ids, context=context): for document in self.browse(loc_cr, uid, ids, context=context):
try: try:
self._update_post_infos( self._update_post_infos(
loc_cr, uid, document, pingen=session, context=context) loc_cr, uid, document, pingen=session, context=context)
except (ConnectionError, APIError): except (ConnectionError, APIError):
# will be retried the next time # will be retried the next time
# In any case, the error has been logged by _update_post_infos # In any case, the error has been logged by _update_post_infos
loc_cr.rollback() loc_cr.rollback()
except: except:
_logger.error('Unexcepted error in pingen cron') _logger.error('Unexcepted error in pingen cron')
loc_cr.rollback() loc_cr.rollback()
raise raise
loc_cr.commit() loc_cr.commit()
return True return True
def update_post_infos(self, cr, uid, ids, context=None): def update_post_infos(self, cr, uid, ids, context=None):