configure_logos : ZeroDivisionError #443

Closed
opened 2022-07-13 10:35:19 +02:00 by viennet · 1 comment
Owner

Sur certains types d'images, on peut observer cette exception.

Il faut contourner ce cas, ou au moins traiter l'erreur dans exception dure (eg ScoValueError)

C'est bloquant: une fois cette tentive de chargement effectuée, on ne peut plus accéder à la page configure_logos.


    File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2095, in __call__

    return self.wsgi_app(environ, start_response)

    File "/opt/scodoc/app/__init__.py", line 201, in __call__

    return self.app(environ, start_response)

    File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2080, in wsgi_app

    response = self.handle_exception(e)

    File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2077, in wsgi_app

    response = self.full_dispatch_request()

    File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1525, in full_dispatch_request

    rv = self.handle_user_exception(e)

    File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1523, in full_dispatch_request

    rv = self.dispatch_request()

    File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1509, in dispatch_request

    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)

    File "/opt/scodoc/app/decorators.py", line 91, in decorated_function

    return f(*args, **kwargs)

    File "/opt/scodoc/app/views/scodoc.py", line 300, in configure_logos

    return config_logos.config_logos()

    File "/opt/scodoc/app/forms/main/config_logos.py", line 423, in config_logos

    modele=sco_logos.list_logos(),

    File "/opt/scodoc/app/scodoc/sco_logos.py", line 104, in list_logos

    inventory = {None: _list_dept_logos()}  # logos globaux (header / footer)

    File "/opt/scodoc/app/scodoc/sco_logos.py", line 140, in _list_dept_logos

    logos[logoname] = Logo(logoname=logoname, dept_id=dept_id).select()

    File "/opt/scodoc/app/scodoc/sco_logos.py", line 264, in select

    self._read_info(img)

    File "/opt/scodoc/app/scodoc/sco_logos.py", line 240, in _read_info

    x_mm = round(x_size * unit2mm / x_density, 2)

    ZeroDivisionError: float division by zero

Sur certains types d'images, on peut observer cette exception. Il faut contourner ce cas, ou au moins traiter l'erreur dans exception dure (eg ScoValueError) C'est bloquant: une fois cette tentive de chargement effectuée, on ne peut plus accéder à la page `configure_logos`. ``` File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2095, in __call__ return self.wsgi_app(environ, start_response) File "/opt/scodoc/app/__init__.py", line 201, in __call__ return self.app(environ, start_response) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2080, in wsgi_app response = self.handle_exception(e) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2077, in wsgi_app response = self.full_dispatch_request() File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1525, in full_dispatch_request rv = self.handle_user_exception(e) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1523, in full_dispatch_request rv = self.dispatch_request() File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1509, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/opt/scodoc/app/decorators.py", line 91, in decorated_function return f(*args, **kwargs) File "/opt/scodoc/app/views/scodoc.py", line 300, in configure_logos return config_logos.config_logos() File "/opt/scodoc/app/forms/main/config_logos.py", line 423, in config_logos modele=sco_logos.list_logos(), File "/opt/scodoc/app/scodoc/sco_logos.py", line 104, in list_logos inventory = {None: _list_dept_logos()} # logos globaux (header / footer) File "/opt/scodoc/app/scodoc/sco_logos.py", line 140, in _list_dept_logos logos[logoname] = Logo(logoname=logoname, dept_id=dept_id).select() File "/opt/scodoc/app/scodoc/sco_logos.py", line 264, in select self._read_info(img) File "/opt/scodoc/app/scodoc/sco_logos.py", line 240, in _read_info x_mm = round(x_size * unit2mm / x_density, 2) ZeroDivisionError: float division by zero ```
viennet added the
bug
label 2022-07-13 10:35:19 +02:00
Author
Owner

corrigé par fae9ce4e5d

corrigé par fae9ce4e5d
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ScoDoc/ScoDoc#443
No description provided.