From 938ebcc6f28d52b6361bf44b50b1af2940cc84a8 Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Wed, 26 Feb 2025 17:11:41 -0800 Subject: [PATCH] Fix get_value - 1 --- {{cookiecutter.out_dir}}/.vars | 2 +- {{cookiecutter.out_dir}}/_macros.jinja2 | 24 ++++++++---------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/{{cookiecutter.out_dir}}/.vars b/{{cookiecutter.out_dir}}/.vars index b2d372a..ef60fab 100644 --- a/{{cookiecutter.out_dir}}/.vars +++ b/{{cookiecutter.out_dir}}/.vars @@ -4,5 +4,5 @@ {% import "_macros.jinja2" as macros %} -{% set min_sdk_version = macros.get_value(cookiecutter.pyproject.tool, "flet.android.min_sdk_version") %} +{% set min_sdk_version = macros.get_value(cookiecutter.pyproject, "tool.flet.android.min_sdk_version") %} min_sdk_version: {{ min_sdk_version }} \ No newline at end of file diff --git a/{{cookiecutter.out_dir}}/_macros.jinja2 b/{{cookiecutter.out_dir}}/_macros.jinja2 index d6acd4b..9c75688 100644 --- a/{{cookiecutter.out_dir}}/_macros.jinja2 +++ b/{{cookiecutter.out_dir}}/_macros.jinja2 @@ -3,22 +3,14 @@ {% macro get_value(dict, path) %} {# Split the path into keys #} {% set keys = path.split('.') %} - - {# Initialize the result with the input dictionary #} - {% set result = dict %} - - {# Use a flag to detect when to stop processing #} - {% set valid = true %} - - {# Iterate through the keys and traverse the dictionary #} - {% for key in keys %} - {% if valid and result is mapping and key in result %} - {% set result = result[key] %} + {% if keys and dict is mapping and keys[0] in dict %} + {% set next_value = dict[keys[0]] %} + {% if keys | length == 1 %} + {{ next_value }} {% else %} - {% set result = none %} - {% set valid = false %} + {{ get_value(next_value, keys[1:] | join('.')) }} {% endif %} - {% endfor %} - - {{ result }} + {% else %} + {{ none }} + {% endif %} {% endmacro %} \ No newline at end of file