Plantage sur caractères spéciaux #585

Closed
opened 2023-01-30 17:49:12 +01:00 by viennet · 2 comments
Owner

Grenoble, export Apo.

Exception sur une ligne avec un XXX :)

ERROR: Exception on /ScoDoc/CH/Scolarite/Notes/view_apo_csv_store [POST]
Referrer: https://iut1-scodocbut.u-ga.fr/ScoDoc/CH/Scolarite/Notes/apo_semset_maq_status?semset_id=18
Method: POST
Params: ImmutableMultiDict([('semset_id', '18'), ('autodetect', 'on')])
Traceback (most recent call last):
  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 80, in scodoc_function
    return func(*args, **kwargs)
  File "/opt/scodoc/app/decorators.py", line 92, in decorated_function
    return f(*args, **kwargs)
  File "/opt/scodoc/app/decorators.py", line 223, in scodoc7func_decorator
    value = func(*pos_arg_values, **kwargs)
  File "/opt/scodoc/app/scodoc/sco_etape_apogee_view.py", line 598, in view_apo_csv_store
    data, message = sco_apogee_csv.fix_data_encoding(data)
  File "/opt/scodoc/app/scodoc/sco_apogee_csv.py", line 179, in fix_data_encoding
    text = text.decode(detected_encoding).encode(dest_encoding)  # XXX
UnicodeEncodeError: 'latin-1' codec can't encode character '\u0153' in position 7392: ordinal not in range(256)
Grenoble, export Apo. Exception sur une ligne avec un `XXX` :) ``` ERROR: Exception on /ScoDoc/CH/Scolarite/Notes/view_apo_csv_store [POST] Referrer: https://iut1-scodocbut.u-ga.fr/ScoDoc/CH/Scolarite/Notes/apo_semset_maq_status?semset_id=18 Method: POST Params: ImmutableMultiDict([('semset_id', '18'), ('autodetect', 'on')]) Traceback (most recent call last): 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 80, in scodoc_function return func(*args, **kwargs) File "/opt/scodoc/app/decorators.py", line 92, in decorated_function return f(*args, **kwargs) File "/opt/scodoc/app/decorators.py", line 223, in scodoc7func_decorator value = func(*pos_arg_values, **kwargs) File "/opt/scodoc/app/scodoc/sco_etape_apogee_view.py", line 598, in view_apo_csv_store data, message = sco_apogee_csv.fix_data_encoding(data) File "/opt/scodoc/app/scodoc/sco_apogee_csv.py", line 179, in fix_data_encoding text = text.decode(detected_encoding).encode(dest_encoding) # XXX UnicodeEncodeError: 'latin-1' codec can't encode character '\u0153' in position 7392: ordinal not in range(256) ```
viennet added the
bug
Apogée
labels 2023-01-30 17:49:12 +01:00
Author
Owner

Le fichier en question est détecté comme du Windows-1252 par chardet_detect.

file dit: Non-ISO extended-ASCII text.

En réalité, ce fichier se lit bien en latin-1 (ISO-8859-1).

ScoDoc ne devrait pas planter mais indiquer un message d'erreur et permettre à l'utilisateur de spécifier le codage de son fichier.

Le fichier en question est détecté comme du `Windows-1252` par `chardet_detect`. `file` dit: `Non-ISO extended-ASCII text`. En réalité, ce fichier se lit bien en `latin-1` (`ISO-8859-1`). ScoDoc ne devrait pas planter mais indiquer un message d'erreur et permettre à l'utilisateur de spécifier le codage de son fichier.
Author
Owner

Fixed by 221ff84dce

Fixed by 221ff84dce0f52169132cf96011c98c36d82c0c9
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#585
No description provided.