Skip to content

Instantly share code, notes, and snippets.

@ecarreras
Created September 7, 2013 17:04
Show Gist options
  • Save ecarreras/6477270 to your computer and use it in GitHub Desktop.
Save ecarreras/6477270 to your computer and use it in GitHub Desktop.
oorq Compatibility
# -*- coding: utf-8 -*-
__all_ = ['execute_v5', 'execute_v7', 'get_version']
def get_version():
"""This tries to return the version of the API.
"""
try:
from openerp.release import version_info
except ImportError:
try:
from release import version_info
except ImportError:
version_info = (0, 0, 0)
return version_info[0]
def execute_v5(conf_attrs, dbname, uid, obj, method, *args, **kw):
from datetime import datetime
import os
start = datetime.now()
# Disabling logging in OpenERP
import logging
if not os.getenv('VERBOSE', False):
logging.disable(logging.CRITICAL)
import netsvc
import tools
for attr, value in conf_attrs.items():
tools.config[attr] = value
import pooler
from tools import config
import osv
import workflow
import report
import service
import sql_db
osv_ = osv.osv.osv_pool()
pooler.get_db_and_pool(dbname)
logging.disable(0)
logger = logging.getLogger()
logger.handlers = []
log_level = tools.config['log_level']
worker_log_level = os.getenv('LOG', False)
if worker_log_level:
log_level = getattr(logging, worker_log_level, 'INFO')
logging.basicConfig(level=log_level)
res = osv_.execute(dbname, uid, obj, method, *args, **kw)
logger.info('Time elapsed: %s' % (datetime.now() - start))
sql_db.close_db(dbname)
return res
def execute_v7(conf_attrs, dbname, uid, obj, method, *args, **kw):
import openerp
for attr, value in conf_attrs.items():
openerp.tools.config[attr] = value
from openerp.osv.osv import object_proxy
obj = object_proxy()
return obj.execute(dbname, uid, obj, method, *args, **kw)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment