Projet

Général

Profil

Development #8854

Implémenter payzen

Ajouté par Benjamin Dauvergne il y a plus de 8 ans. Mis à jour il y a environ 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Début:
03 novembre 2015
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Fichiers

Révisions associées

Révision 8c0def0c (diff)
Ajouté par Benjamin Dauvergne il y a plus de 8 ans

implement payzen backend by inheriting systempayv2 (fixes #8854)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Un peu en mode kamikaze.

#2

Mis à jour par Serghei Mihai il y a plus de 8 ans

On pourra vérifier avec l'instance de Fondettes

#3

Mis à jour par Serghei Mihai il y a plus de 8 ans

Modifs mineures du patch.
Sinon en testant sur le Payzen de Fondettes ça fonctionne

#4

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Le deepcopy était important, pourquoi l'as-tu enlevé ? (dict.copy() ne crée un clone du dict pas de son contenu, si dans le contenu il y a des choses qui sont mutables alors la modification va modifier le parent (ici le paramétrage de systempay)).

#5

Mis à jour par Serghei Mihai il y a plus de 8 ans

Le deepcopy provoque l'erreur:

/usr/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)
    161     copier = _deepcopy_dispatch.get(cls)
    162     if copier:
--> 163         y = copier(x, memo)
    164     else:
    165         try:

/usr/lib/python2.7/copy.pyc in _deepcopy_dict(x, memo)
    255     memo[id(x)] = y
    256     for key, value in x.iteritems():
--> 257         y[deepcopy(key, memo)] = deepcopy(value, memo)
    258     return y
    259 d[dict] = _deepcopy_dict

/usr/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)
    161     copier = _deepcopy_dispatch.get(cls)
    162     if copier:
--> 163         y = copier(x, memo)
    164     else:
    165         try:

/usr/lib/python2.7/copy.pyc in _deepcopy_list(x, memo)
    228     memo[id(x)] = y
    229     for a in x:
--> 230         y.append(deepcopy(a, memo))
    231     return y
    232 d[list] = _deepcopy_list

/usr/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)
    161     copier = _deepcopy_dispatch.get(cls)
    162     if copier:
--> 163         y = copier(x, memo)
    164     else:
    165         try:

/usr/lib/python2.7/copy.pyc in _deepcopy_dict(x, memo)
    255     memo[id(x)] = y
    256     for key, value in x.iteritems():
--> 257         y[deepcopy(key, memo)] = deepcopy(value, memo)
    258     return y
    259 d[dict] = _deepcopy_dict

/usr/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)
    188                             raise Error(
    189                                 "un(deep)copyable object of type %s" % cls)
--> 190                 y = _reconstruct(x, rv, 1, memo)
    191 
    192     memo[d] = y

/usr/lib/python2.7/copy.pyc in _reconstruct(x, info, deep, memo)
    327     if deep:
    328         args = deepcopy(args, memo)
--> 329     y = callable(*args)
    330     memo[id(x)] = y
    331 

/home/serghei/sandbox/venvs/combo/lib/python2.7/copy_reg.pyc in __newobj__(cls, *args)
     91 
     92 def __newobj__(cls, *args):
---> 93     return cls.__new__(cls, *args)
     94 
     95 def _slotnames(cls):

TypeError: object.__new__(method_descriptor) is not safe, use method_descriptor.__new__()

#6

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Ok deepcopy n'aime pas copier des méthodes, je les ai converti en lambda, tu peux intégrer ce patch au tien puis pousser.

#7

Mis à jour par Serghei Mihai il y a plus de 8 ans

  • Statut changé de En cours à Résolu (à déployer)

Fait et testé en local

commit 8c0def0c29fcbb1096924b7d225f55bca32cc317
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue Nov 3 23:16:40 2015 +0100

    implement payzen backend by inheriting systempayv2 (fixes #8854)

#8

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

  • % réalisé changé de 0 à 100
#9

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

  • Version cible mis à 1.3
#10

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF