Test my_custom_function

This commit is contained in:
Feodor Fitsner 2025-03-04 10:45:11 -08:00
parent 6221e5b036
commit 7a20a3a195
3 changed files with 37 additions and 3 deletions

View File

@ -28,6 +28,5 @@
"pwa_theme_color": "#0175C2",
"split_per_abi": false,
"options": null,
"pyproject": null,
"get_pyproject": null
"pyproject": null
}

35
hooks/post_gen_project.py Normal file
View File

@ -0,0 +1,35 @@
from typing import Any, Optional
import cookiecutter.utils
def get_pyproject(pyproject_toml: Any, setting: Optional[str] = None):
if not setting:
return pyproject_toml
d = pyproject_toml
for k in setting.split("."):
d = d.get(k)
if d is None:
return None
return d
def my_custom_function(value):
"""Example function: returns the value in uppercase"""
return value.upper()
def another_function(value1, value2):
"""Concatenates two values with a space"""
return f"{value1} {value2}"
# Inject custom functions into Jinja's global context
def add_custom_filters(cookiecutter):
cookiecutter.globals["my_custom_function"] = my_custom_function
cookiecutter.globals["another_function"] = another_function
# Run after project is generated
add_custom_filters(cookiecutter)

View File

@ -26,7 +26,7 @@ loading_screen: {{ loading_screen }}
loading_screen_text: {{ loading_screen_text }}
test: {{ cookiecutter.get_pyproject("tool.flet.loading_screen_text") }}
Uppercase Example: {{ my_custom_function("abc") }}
*/
{% for dep in cookiecutter.flutter.dependencies %}