#.apidoc title: Objects Services (OSV)
+from functools import wraps
import logging
from psycopg2 import IntegrityError, errorcodes
import openerp.netsvc as netsvc
import openerp.pooler as pooler
import openerp.sql_db as sql_db
-from openerp.tools.func import wraps
from openerp.tools.translate import translate
from openerp.osv.orm import MetaModel, Model, TransientModel, AbstractModel
import openerp.exceptions
+_logger = logging.getLogger(__name__)
+
# Deprecated.
class except_osv(Exception):
def __init__(self, name, value):
class object_proxy(object):
def __init__(self):
- self.logger = logging.getLogger('web-services')
global service
service = self
tr(osv_pool._sql_error[key], 'sql_constraint') or inst[0])
if inst.pgcode in (errorcodes.NOT_NULL_VIOLATION, errorcodes.FOREIGN_KEY_VIOLATION, errorcodes.RESTRICT_VIOLATION):
msg = _('The operation cannot be completed, probably due to the following:\n- deletion: you may be trying to delete a record while other records still reference it\n- creation/update: a mandatory field is not correctly set')
- self.logger.debug("IntegrityError", exc_info=True)
+ _logger.debug("IntegrityError", exc_info=True)
try:
errortxt = inst.pgerror.replace('«','"').replace('»','"')
if '"public".' in errortxt:
else:
netsvc.abort_response(1, _('Integrity Error'), 'warning', inst[0])
except Exception:
- self.logger.exception("Uncaught exception")
+ _logger.exception("Uncaught exception")
raise
return wrapper
raise except_osv('Access Denied', 'Private methods (such as %s) cannot be called remotely.' % (method,))
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
if res is None:
- self.logger.warning('The method %s of the object %s can not return `None` !', method, obj)
+ _logger.warning('The method %s of the object %s can not return `None` !', method, obj)
cr.commit()
except Exception:
cr.rollback()