From 476fb290659c608bb168c18ba5c4fcf46b2dcecf Mon Sep 17 00:00:00 2001 From: Iziram Date: Sat, 22 Jun 2024 17:30:59 +0200 Subject: [PATCH] =?UTF-8?q?create=5Fapi=5Fmap=20:=20bug=20fix=20query=20av?= =?UTF-8?q?ec=201=20element=20+=20l=C3=A9g=C3=A8res=20optimisations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/create_api_map.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/tools/create_api_map.py b/tools/create_api_map.py index 953f384a6..543a90697 100644 --- a/tools/create_api_map.py +++ b/tools/create_api_map.py @@ -172,7 +172,7 @@ class Token: sub_group = ET.Element("g") # On décale l'élément de la query vers la droite par rapport à l'élément parent - translate_x = x_offset + x_step + translate_x = x_offset + _get_group_width(group) + x_step // 2 # création élément (param) param_el = _create_svg_element(key, COLORS.BLUE) @@ -192,7 +192,7 @@ class Token: # création élément (=) equal_el = _create_svg_element("=", COLORS.GREY) # On met à jour le décalage en fonction de l'élément précédent - translate_x = x_offset + x_step + _get_element_width(param_el) + translate_x += _get_element_width(param_el) equal_el.set( "transform", f"translate({translate_x}, {query_y_offset})", @@ -202,11 +202,7 @@ class Token: # création élément (value) value_el = _create_svg_element(value, COLORS.GREEN) # On met à jour le décalage en fonction des éléments précédents - translate_x = ( - x_offset - + x_step - + sum(_get_element_width(el) for el in [param_el, equal_el]) - ) + translate_x += _get_element_width(equal_el) value_el.set( "transform", f"translate({translate_x}, {query_y_offset})", @@ -214,16 +210,13 @@ class Token: sub_group.append(value_el) # Si il y a qu'un seul élément dans la query, on ne met pas de `&` if len(self.query) == 1: + query_sub_element.append(sub_group) continue # création élément (&) ampersand_group = _create_svg_element("&", "rgb(224,224,224)") # On met à jour le décalage en fonction des éléments précédents - translate_x = ( - x_offset - + x_step - + sum(_get_element_width(el) for el in [param_el, equal_el, value_el]) - ) + translate_x += _get_element_width(value_el) ampersand_group.set( "transform", f"translate({translate_x}, {query_y_offset})", @@ -466,6 +459,9 @@ def gen_api_map(app, endpoint_start="api"): # On positionne le token courant sur le token racine current_token = api_map + # Récupération de la fonction associée à la route + func = app.view_functions[rule.endpoint] + # Pour chaque segment de la route for i, segment in enumerate(segments): # On cherche si le segment est déjà un enfant du token courant @@ -473,7 +469,6 @@ def gen_api_map(app, endpoint_start="api"): # Si ce n'est pas le cas on crée un nouveau token et on l'ajoute comme enfant if child is None: - func = app.view_functions[rule.endpoint] # Si c'est le dernier segment, on marque le token comme une leaf # On utilise force_leaf car il est possible que le token ne soit que # momentanément une leaf