Projet

Général

Profil

Development #33563

.extends va des fois ajouter plusieurs fois les mêmes données à une liste

Ajouté par Benjamin Dauvergne il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
29 mai 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Voir #32374 pour un cas pratique.


Fichiers

Révisions associées

Révision f3bea061 (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

code style (#33563)

Révision 0a7f6f9b (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

factorize loader instance creation (#33563)

Révision c5a247cb (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

stop threading wrapped around (#33563)

Révision 570722b0 (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

code style (#33563)

Révision 5e1b5a11 (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

tests_multitenant: add test on settings.json reloading (#33563)

Révision e5b4fe9a (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

create a new UserSettingsHolder on each reload of tenant settings (#33563)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

En lisant le code ça parait assez logique, on ne ré-instancie pas UserSettingsHolder à chaque rechargement.

#2

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Voilà.

Avant le 0006, le test fait ça :

            # check EXTEND_ME is still extended from base value
            for tenant in tenants:
                with tenant_context(tenant):
>                   assert django.conf.settings.EXTEND_ME == [1, 3]
E                   assert [1, 2, 3] == [1, 3]
E                     At index 1 diff: 2 != 3
E                     Left contains more items, first extra item: 3
E                     Use -v to get the full diff

tests_multitenant/test_settings.py:305: AssertionError

après il passe.

#4

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

C'est (pour moi) un peu compliqué de relire quand il y a des commits sans rapport qui se mélangent sans explication; "ok" pour les trucs de style mais le 0002, avoir quelques mots de pourquoi il arrive ici, ça serait pas mal. (histoire de ne pas demander au relecteur de voir ce que ça peut avoir comme conséquence, de chercher dans les autres commits ce que ça peut apporter, etc.).

#5

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Frédéric Péters a écrit :

C'est (pour moi) un peu compliqué de relire quand il y a des commits sans rapport qui se mélangent sans explication; "ok" pour les trucs de style mais le 0002, avoir quelques mots de pourquoi il arrive ici, ça serait pas mal. (histoire de ne pas demander au relecteur de voir ce que ça peut avoir comme conséquence, de chercher dans les autres commits ce que ça peut apporter, etc.).

C'est juste que je trouvais le code peu lisible, ça rend le 0006 plus évident (je trouve), et j'ai veillé à séparer les refactoring entre juste la factorisation d'un code et la suppression d'un paramètre inutile.

#6

Mis à jour par Nicolas Roche il y a presque 5 ans

  • Statut changé de Solution proposée à Solution validée
ok pour moi :
  • si je prend juste le test j'obtiens la même erreur
  • si j'ajoute cette ligne (cf 0006) dans hobo/multitenant/settings.py le test passe
    def load_tenant_settings(...
      # something is new, call all loaders
    <<<
    ---
      tenant_settings = UserSettingsHolder(self.default_settings)
    >>>
    

ok aussi pour le reste (mise en forme, factorisation et simplification du code).

#7

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit e5b4fe9adfc8bc28fe2f0f8c2d9992c4cd527d69
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed May 29 19:01:54 2019 +0200

    create a new UserSettingsHolder on each reload of tenant settings (#33563)

commit 5e1b5a1169f8def56605a172434305137f2c7b1b
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu May 30 09:09:16 2019 +0200

    tests_multitenant: add test on settings.json reloading (#33563)

commit 570722b01a524a1adc5d16f276b9df519430b226
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu May 30 08:33:09 2019 +0200

    code style (#33563)

commit c5a247cb673d70e819d3d4d034c46782ec71805d
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed May 29 19:01:31 2019 +0200

    stop threading wrapped around (#33563)

commit 0a7f6f9b5d9a76324ac11e5bbc143eb86398e865
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed May 29 18:56:46 2019 +0200

    factorize loader instance creation (#33563)

commit f3bea0612fa518266f908c082c9bcd74070a408b
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed May 29 18:52:37 2019 +0200

    code style (#33563)
#8

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

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

Formats disponibles : Atom PDF