Projet

Général

Profil

Bug #35376

erreur lors de l'import du client soap

Ajouté par Serghei Mihai il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
12 août 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Traceback:

File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _legacy_get_response
  249.             response = self._get_response(request)

File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in dispatch
  356.         return super(GenericEndpointView, self).dispatch(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in dispatch
  162.             request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in get
  436.         return to_json(logger=connector.logger)(self.perform)(request, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in wrapper
  83.             return method(f, *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in api_func
  139.         return self.api(f, args[0], *args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in api
  147.             resp = f(*args, **kwargs)

File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in perform
  421.         result = self.endpoint(request, **params)

File "/usr/lib/python2.7/dist-packages/passerelle/apps/astregs/models.py" in get_contact
  497.                       ContactCle={'idContact': contact_id}

File "/usr/lib/python2.7/dist-packages/passerelle/apps/astregs/models.py" in call
  302.             client = self.get_client(wsdl_name)

File "/usr/lib/python2.7/dist-packages/passerelle/apps/astregs/models.py" in get_client
  293.         client = self.soap_client(wsdl_url=url)

File "/usr/lib/python2.7/dist-packages/passerelle/base/models.py" in soap_client
  185.         return passerelle.utils.soap.SOAPClient(resource=self, **kwargs)

Exception Type: AttributeError at /astregs/test/get-contact
Exception Value: 'module' object has no attribute 'soap'

Fichiers


Demandes liées

Lié à Passerelle - Development #35369: réunir les affaires soap dans passerelle/utils/soap.pyFermé12 août 2019

Actions

Révisions associées

Révision c7e00a74 (diff)
Ajouté par Serghei Mihai il y a plus de 4 ans

base: fix soap client import (#35376)

Historique

#1

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

  • Lié à Development #35369: réunir les affaires soap dans passerelle/utils/soap.py ajouté
#3

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Nouveau à Rejeté

Doublon #35373.

#4

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Rejeté à En cours

Ah non.

#5

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Assigné à mis à Frédéric Péters
#6

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Assigné à changé de Frédéric Péters à Serghei Mihai
#7

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

Etrange que ça n'a pas été détécté par les tests.

#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

Évitons les import dans les méthodes, juste un import passerelle.utils.soap en haut ça le fait, non ?

#10

Mis à jour par Frédéric Péters il y a plus de 4 ans

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

J'écrivais import passerelle.utils.soap mais bon, ok pour le from... mais à descendre sous le import passerelle.

#11

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

  • Statut changé de Solution validée à En cours

Ça ne marche pas, ça crée un import circulaire : soap -> models -> soap.

Traceback (most recent call last):
  File "/usr/lib/passerelle/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute
    django.setup()
  File "/usr/lib/python2.7/dist-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models()
  File "/usr/lib/python2.7/dist-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/passerelle/base/models.py", line 35, in <module>
    import passerelle.utils.soap
  File "/usr/lib/python2.7/dist-packages/passerelle/utils/__init__.py", line 38, in <module>
    from passerelle.base.models import ApiUser, AccessRight, BaseResource
ImportError: cannot import name ApiUser

C'est bien de pousser les branches et de regarder si jenkins est content...

#12

Mis à jour par Frédéric Péters il y a plus de 4 ans

Je serais alors (et j'ai hésité j'aurais du le faire depuis le début) en bas de passerelle.utils faire l'import from .soap import SOAPClient, SOAPTransport, pour la compatibilité et qui passerait aussi, peut-être, à tester, etc.

#14

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

Aussi faut qu'on arrête de mettre des choses dans init.py (je plaide coupable).

#15

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

On va arrêter si tu valides :)

#16

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

  • Statut changé de En cours à Solution validée
#17

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit c7e00a7427570fd616457fc3eba30f7510d2887d (origin/master, origin/HEAD)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Mon Aug 12 16:57:47 2019 +0200

    base: fix soap client import (#35376)
#18

Mis à jour par Frédéric Péters il y a plus de 4 ans

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

Formats disponibles : Atom PDF