diff --git a/tools/create_api_map.py b/tools/create_api_map.py index 953f384a..543a9069 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