OCA / rest-framework

GNU Affero General Public License v3.0
306 stars 293 forks source link

[ERROR] Cerberus==1.3.3 AttributeError: 'BareValidator' object has no attribute 'rules' #142

Closed HviorForgeFlow closed 2 years ago

HviorForgeFlow commented 3 years ago

Have no time to go deeper, but seems that since cerberus released version 1.3.3 (two days ago) this error is appearing. Coming back to 1.3.2 solved the issue on my side.

Traceback (most recent call last):
  File "/opt/odoo/auto/addons/base_rest/http.py", line 182, in _handle_exception
    return super(HttpRestRequest, self)._handle_exception(exception)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 750, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/odoo/custom/src/odoo/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_http.py", line 234, in _dispatch
    result = request.dispatch()
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 809, in dispatch
    r = self._call_function(**self.params)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 350, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 915, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/custom/src/odoo/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "<string>", line 6, in get_search
  File "/opt/odoo/auto/addons/base_rest/controllers/main.py", line 144, in _process_method
    result = service.dispatch(method_name, *args, params=params)
  File "/opt/odoo/auto/addons/shopinvader/services/service.py", line 238, in dispatch
    res = super().dispatch(method_name, *args, params=params)
  File "/opt/odoo/auto/addons/base_rest/components/service.py", line 154, in dispatch
    secure_params = self._prepare_input_params(method, params)
  File "/opt/odoo/auto/addons/base_rest/components/service.py", line 106, in _prepare_input_params
    return input_param.from_params(self, params)
  File "/opt/odoo/auto/addons/base_rest/restapi.py", line 120, in from_params
    validator = self.get_cerberus_validator(service, "input")
  File "/opt/odoo/auto/addons/base_rest/restapi.py", line 182, in get_cerberus_validator
    return Validator(schema, purge_unknown=True)
  File "/usr/local/lib/python3.6/site-packages/cerberus/validator.py", line 193, in __init__
    self.schema = kwargs.get('schema', None)
  File "/usr/local/lib/python3.6/site-packages/cerberus/validator.py", line 604, in schema
    self._schema = DefinitionSchema(self, schema)
  File "/usr/local/lib/python3.6/site-packages/cerberus/schema.py", line 72, in __init__
    self.validation_schema = SchemaValidationSchema(validator)
  File "/usr/local/lib/python3.6/site-packages/cerberus/schema.py", line 307, in __init__
    'schema': validator.rules,
AttributeError: 'BareValidator' object has no attribute 'rules'

@lmignon

github-actions[bot] commented 2 years ago

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.