[FIX] pms-api-rest: fix precommit

This commit is contained in:
miguelpadin
2022-05-23 12:10:53 +01:00
committed by Darío Lodeiros
parent fca2521b72
commit d8bd44cc8e
3 changed files with 45 additions and 51 deletions

View File

@@ -1,12 +1,29 @@
from werkzeug.exceptions import InternalServerError, Unauthorized, NotFound, Forbidden, BadRequest, HTTPException
from werkzeug.exceptions import (
BadRequest,
Forbidden,
HTTPException,
InternalServerError,
NotFound,
Unauthorized,
)
import odoo
from odoo.addons.base_rest.http import HttpRestRequest, wrapJsonException
from odoo.addons.base_rest.http import _rest_services_routes
from odoo.exceptions import MissingError, AccessError, AccessDenied, UserError, ValidationError
from odoo.http import Root, SessionExpiredException, HttpRequest
from odoo.exceptions import (
AccessDenied,
AccessError,
MissingError,
UserError,
ValidationError,
)
from odoo.http import HttpRequest, Root, SessionExpiredException
from odoo.loglevels import ustr
from odoo.addons.base_rest.http import (
HttpRestRequest,
_rest_services_routes,
wrapJsonException,
)
class HttpRestRequestPms(HttpRestRequest):
def __init__(self, httprequest):
@@ -14,61 +31,49 @@ class HttpRestRequestPms(HttpRestRequest):
def _handle_exception(self, exception):
"""Called within an except block to allow converting exceptions
to abitrary responses. Anything returned (except None) will
be used as response."""
to abitrary responses. Anything returned (except None) will
be used as response."""
if isinstance(exception, SessionExpiredException):
# we don't want to return the login form as plain html page
# we want to raise a proper exception
print('session expired exception')
print("session expired exception")
return wrapJsonException(Unauthorized(ustr(exception)))
try:
return super(HttpRequest, self)._handle_exception(exception)
except MissingError as e:
extra_info = getattr(e, "rest_json_info", None)
return wrapJsonException(
NotFound(ustr(e)),
include_description=True,
extra_info=extra_info
NotFound(ustr(e)), include_description=True, extra_info=extra_info
)
except (AccessError, AccessDenied) as e:
print('access error / access denied exception')
print("access error / access denied exception")
extra_info = getattr(e, "rest_json_info", None)
return wrapJsonException(
Forbidden(ustr(e)),
include_description=True,
extra_info=extra_info
Forbidden(ustr(e)), include_description=True, extra_info=extra_info
)
except (UserError, ValidationError) as e:
extra_info = getattr(e, "rest_json_info", None)
return wrapJsonException(
BadRequest(e.args[0]),
include_description=True,
extra_info=extra_info
BadRequest(e.args[0]), include_description=True, extra_info=extra_info
)
except HTTPException as e:
extra_info = getattr(e, "rest_json_info", None)
return wrapJsonException(
e,
include_description=True,
extra_info=extra_info
)
return wrapJsonException(e, include_description=True, extra_info=extra_info)
except Unauthorized as e:
print('Unauthorized exception')
print("Unauthorized exception")
extra_info = getattr(e, "rest_json_info", None)
return wrapJsonException(
e,
include_description=True,
extra_info=extra_info),
return (
wrapJsonException(e, include_description=True, extra_info=extra_info),
)
except Exception as e: # flake8: noqa: E722
extra_info = getattr(e, "rest_json_info", None)
return wrapJsonException(
InternalServerError(e),
extra_info=extra_info
)
return wrapJsonException(InternalServerError(e), extra_info=extra_info)
ori_get_request = Root.get_request
def get_request(self, httprequest):
db = httprequest.session.db
if db and odoo.service.db.exp_db_exist(db):