Projet

Général

Profil

Bug #65859

api export/import applification, KeyError sur un formulaire

Ajouté par Sentry Io il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
01 juin 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/publik/issues/57958/

FileNotFoundError: [Errno 2] No such file or directory: b'/var/lib/wcs/formulaires-ville-chambery.test.entrouvert.org/formdefs-url_name/inscrire-un-usager-a-des-groupes-de-travail'
  File "wcs/qommon/storage.py", line 664, in get_filename
    fd = open(force_bytes(filename, 'utf-8'), 'rb')  # pylint: disable=consider-using-with

KeyError: 
(4 additional frame(s) were not displayed)
...
  File "wcs/api_export_import.py", line 179, in object_dependencies
    obj = get_object(objects, slug)
  File "wcs/api_export_import.py", line 161, in get_object
    return klass.get_by_slug(slug)
  File "wcs/formdef.py", line 749, in get_by_urlname
    return cls.get_on_index(url_name, 'url_name', ignore_migration=ignore_migration)
  File "wcs/qommon/storage.py", line 624, in get_on_index
    return cls.get_filename(filename, ignore_errors=ignore_errors, ignore_migration=ignore_migration)
  File "wcs/qommon/storage.py", line 669, in get_filename
    raise KeyError()

Fichiers

Révisions associées

Révision 621ab6b8 (diff)
Ajouté par Lauréline Guérin il y a presque 2 ans

api: fix dependencies KeyError inexport/import api (#65859)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Projet changé de Suivi des traces à w.c.s.
#2

Mis à jour par Lauréline Guérin il y a presque 2 ans

#3

Mis à jour par Frédéric Péters il y a presque 2 ans

-    return klass.get_by_slug(slug)
+    try:
+        return klass.get_by_slug(slug)
+    except KeyError:
+        return None

Peut-être return klass.get_by_slug(slug, ignore_errors=True) ? (pas vérifié si le paramètre existait bien partout mais ça serait l'occasion).

#4

Mis à jour par Lauréline Guérin il y a presque 2 ans

Pour le default;
Pour get_by_urlname, le default des méthodes existantes est False
Pour get_by_slug, c'est plutôt True
Du coup j'ai fait pareil

#5

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#6

Mis à jour par Lauréline Guérin il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 621ab6b8c5d93ee03d9d754a3453704d21ab9a4d
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Fri Jun 10 16:51:09 2022 +0200

    api: fix dependencies KeyError inexport/import api (#65859)
#7

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#8

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF