toulouse-maelis: stop triggering a removed wcs demand (#78967) #297

Merged
nroche merged 3 commits from wip/78967-parsifal-stop-triggering-removed-demand into main 2023-07-17 10:15:11 +02:00
Owner

Ne pas tenter de ré-envoyer de triggers aux demandes qui ont été supprimées.

Ne pas tenter de ré-envoyer de triggers aux demandes qui ont été supprimées.
tnoel approved these changes 2023-06-26 12:01:11 +02:00
@ -4461,6 +4461,12 @@ class Subscription(models.Model):
result = wcs_api.post_json(obj.wcs_trigger_payload, [], headers=headers)
except WcsApiError as e:
self.resource.logger.warning(e)
Owner

Il faudrait lancer un warning seulement que c'est pas du 404, sinon juste logger.info.

Il faudrait lancer un warning seulement que c'est pas du 404, sinon juste logger.info.
@ -4461,6 +4461,12 @@ class Subscription(models.Model):
result = wcs_api.post_json(obj.wcs_trigger_payload, [], headers=headers)
except WcsApiError as e:
self.resource.logger.warning(e)
wcs_response = getattr(e.args[2], 'response', None)
Owner

C'est plutôt très dégueu ce e.args[2], il serait préférable qu'au passage WcsApiError gagne des attributs plus explicites, dont un e.response

C'est plutôt très dégueu ce e.args[2], il serait préférable qu'au passage WcsApiError gagne des attributs plus explicites, dont un e.response
tnoel requested changes 2023-06-26 12:14:23 +02:00
tnoel left a comment
Owner

Je ne voulais pas valider mais demander une modif... désolé.

Je ne voulais pas valider mais demander une modif... désolé.
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from 62366c8f24 to 1a1cadc545 2023-06-26 14:50:05 +02:00 Compare
nroche requested review from tnoel 2023-06-26 15:33:30 +02:00
tnoel requested changes 2023-06-27 15:50:13 +02:00
tnoel left a comment
Owner

J'avoue que je suis tatasse, mais c'est toute ma vie.

J'avoue que je suis tatasse, mais c'est toute ma vie.
@ -37,2 +37,3 @@
class WcsApiError(Exception):
pass
def __init__(self, *args, **kwargs):
self.wcs_exception = kwargs.pop('wcs_exception')
Owner

Nomme l'attribut "request_exception" plutôt que "wcs_exception", on comprendra mieux de quoi il est question.

Nomme l'attribut "request_exception" plutôt que "wcs_exception", on comprendra mieux de quoi il est question.
Author
Owner

Remarque prise en compte.

Remarque prise en compte.
@ -38,1 +38,3 @@
pass
def __init__(self, *args, **kwargs):
self.wcs_exception = kwargs.pop('wcs_exception')
super().__init__(*args)
Owner

Sans doute envoyer aussi kwargs, histoire de.

Sans doute envoyer aussi kwargs, histoire de.
Author
Owner

J'ai ajouté le kwarg au dictionnaire, comme c'est fait pour APIError,

self.__dict__.update(kwargs)

par que sinon :

>       super().__init__(*args, **kwargs)
E       TypeError: WcsApiError() takes no keyword arguments
J'ai ajouté le kwarg au dictionnaire, comme c'est fait pour APIError, ``` self.__dict__.update(kwargs) ``` par que sinon : ``` > super().__init__(*args, **kwargs) E TypeError: WcsApiError() takes no keyword arguments ```
@ -39,0 +40,4 @@
super().__init__(*args)
@property
def wcs_response(self):
Owner

... et donc ici ça serait plutôt request_response au lieu de wcs_response.

... et donc ici ça serait plutôt request_response au lieu de wcs_response.
Author
Owner

Remarque prise en compte.

Remarque prise en compte.
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from 1a1cadc545 to 014acc2583 2023-06-27 17:27:34 +02:00 Compare
nroche requested review from tnoel 2023-06-27 17:39:43 +02:00
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from 014acc2583 to c460c890dc 2023-07-06 12:10:23 +02:00 Compare
tnoel requested changes 2023-07-06 14:26:28 +02:00
@ -4482,1 +4482,3 @@
self.resource.logger.warning(e)
if e.request_response is not None and e.request_response.status_code == 404:
try:
json_response = json.loads(e.request_response.text)
Owner

avec le WcsApiError.__init__ revu (voir plus loin), utiliser e.content

avec le `WcsApiError.__init__` revu (voir plus loin), utiliser `e.content`
@ -506,3 +506,3 @@
except WcsApiError as e:
try:
result = json.loads(e.args[3])
result = json.loads(e.request_response.text)
Owner

comme dans toulouse_maelis, utilise plutôt e.content

comme dans toulouse_maelis, utilise plutôt `e.content`
@ -36,3 +36,3 @@
class WcsApiError(Exception):
pass
def __init__(self, *args, **kwargs):
Owner

Quitte à reprendre, allons jusqu'au bout :

def __init__(self, *args, url='', content=None, request_exception=None):
    self.url = url
    self.content = content
    self.request_exception = request_exception
    self.request_response = getattr(request_exception, 'response', None)

et modifier les créations en conséquence, genre

raise WcsApiError('GET request failed', final_url, e, content, request_exception=e)

deviendra

raise WcsApiError('GET request failed', url=final_url, content=content, request_exception=e)

et modifier les usages, genre e.args[3] devient e.content

Quitte à reprendre, allons jusqu'au bout : ``` def __init__(self, *args, url='', content=None, request_exception=None): self.url = url self.content = content self.request_exception = request_exception self.request_response = getattr(request_exception, 'response', None) ``` et modifier les créations en conséquence, genre ``` raise WcsApiError('GET request failed', final_url, e, content, request_exception=e) ``` deviendra ``` raise WcsApiError('GET request failed', url=final_url, content=content, request_exception=e) ``` et modifier les usages, genre `e.args[3]` devient `e.content`
@ -39,0 +41,4 @@
super().__init__(*args, **kwargs)
@property
def request_response(self):
Owner

deviendra inutile avec le init refait

deviendra inutile avec le init refait
@ -574,3 +581,3 @@
except requests.RequestException as e:
content = getattr(getattr(e, 'response', None), 'content', None)
raise WcsApiError('GET request failed', final_url, e, content)
raise WcsApiError('GET request failed', final_url, e, content, request_exception=e)
Owner

à reprendre si tu refais le WcsApiError.__init__

à reprendre si tu refais le `WcsApiError.__init__`
@ -601,3 +608,3 @@
except requests.RequestException as e:
content = getattr(getattr(e, 'response', None), 'content', None)
raise WcsApiError('POST request failed', final_url, e, content)
raise WcsApiError('POST request failed', final_url, e, content, request_exception=e)
Owner

à reprendre si tu refais le WcsApiError.__init__

à reprendre si tu refais le `WcsApiError.__init__`
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from c460c890dc to fc2ec5d4a5 2023-07-06 16:37:57 +02:00 Compare
nroche requested review from tnoel 2023-07-06 17:01:51 +02:00
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from fc2ec5d4a5 to fb56505954 2023-07-06 18:07:01 +02:00 Compare
nroche changed title from toulouse-maelis: stop triggering a removed wcs demand (#78967) to WIP: toulouse-maelis: stop triggering a removed wcs demand (#78967) 2023-07-07 08:59:16 +02:00
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from fb56505954 to 678dcb0c71 2023-07-07 10:29:29 +02:00 Compare
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from 678dcb0c71 to 35a43e2a8e 2023-07-07 13:00:51 +02:00 Compare
Author
Owner

J'ai intégré le précédent fixup et j'en ai généré un nouveau.
Je récupère la réponse de wcs dans le constructeur de l'exception.
Je ne logue plus l'url complète avec sa signature, je n'en ai jamais eu besoin, mais c'est peut-être pas malin.

J'ai intégré le précédent fixup et j'en ai généré un nouveau. Je récupère la réponse de wcs dans le constructeur de l'exception. Je ne logue plus l'url complète avec sa signature, je n'en ai jamais eu besoin, mais c'est peut-être pas malin.
nroche changed title from WIP: toulouse-maelis: stop triggering a removed wcs demand (#78967) to toulouse-maelis: stop triggering a removed wcs demand (#78967) 2023-07-07 13:52:12 +02:00
tnoel approved these changes 2023-07-10 09:59:08 +02:00
nroche force-pushed wip/78967-parsifal-stop-triggering-removed-demand from 35a43e2a8e to 64b25c7c73 2023-07-17 09:58:56 +02:00 Compare
nroche merged commit 64b25c7c73 into main 2023-07-17 10:15:11 +02:00
nroche deleted branch wip/78967-parsifal-stop-triggering-removed-demand 2023-07-17 10:15:11 +02:00
Owner
64b25c7c fixup! wcs: explicite wcs response on WcsApiError (#78967)

se trouve dans l'historique ça n'est pas terrible du tout.

``` 64b25c7c fixup! wcs: explicite wcs response on WcsApiError (#78967) ``` se trouve dans l'historique ça n'est pas terrible du tout.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
3 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: entrouvert/passerelle#297
No description provided.