# Part of Open eObs. See LICENSE file for full copyright and licensing details.
import logging
from functools import wraps
_logger = logging.getLogger(__name__)
[docs]def refresh_materialized_views(*views):
"""
Decorator method to refresh materialized views passed
as arguments.
:param views: name(s) of materialized view(s) to refresh
:return: True if activity is completed
"""
def _refresh_materialized_views(f):
@wraps(f)
def _complete(*args, **kwargs):
self, cr, uid = args[:3]
result = f(*args, **kwargs)
sql = ''
for view in views:
sql += 'refresh materialized view ' + view + ';\n'
cr.execute(sql)
_logger.debug('Materialized view(s) refreshed')
return result
return _complete
return _refresh_materialized_views
[docs]def v8_refresh_materialized_views(*views):
"""
Decorator method to refresh materialized views passed
as arguments.
:param views: name(s) of materialized view(s) to refresh
:return: True if activity is completed
"""
def _refresh_materialized_views(f):
@wraps(f)
def _complete(*args, **kwargs):
self = args[0]
result = f(*args, **kwargs)
sql = ''
for view in views:
sql += 'refresh materialized view ' + view + ';\n'
self._cr.execute(sql)
_logger.debug('Materialized view(s) refreshed')
return result
return _complete
return _refresh_materialized_views