Test foobar filter
This commit is contained in:
parent
7a20a3a195
commit
7734dfa421
|
|
@ -28,5 +28,6 @@
|
||||||
"pwa_theme_color": "#0175C2",
|
"pwa_theme_color": "#0175C2",
|
||||||
"split_per_abi": false,
|
"split_per_abi": false,
|
||||||
"options": null,
|
"options": null,
|
||||||
"pyproject": null
|
"pyproject": null,
|
||||||
|
"_extensions": ["cookiecutter_extensions.FoobarExtension"]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
from jinja2.ext import Extension
|
||||||
|
|
||||||
|
|
||||||
|
class FoobarExtension(Extension):
|
||||||
|
def __init__(self, environment):
|
||||||
|
super(FoobarExtension, self).__init__(environment)
|
||||||
|
environment.filters["foobar"] = lambda v: v * 2
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
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)
|
|
||||||
|
|
@ -26,7 +26,7 @@ loading_screen: {{ loading_screen }}
|
||||||
|
|
||||||
loading_screen_text: {{ loading_screen_text }}
|
loading_screen_text: {{ loading_screen_text }}
|
||||||
|
|
||||||
Uppercase Example: {{ my_custom_function("abc") }}
|
Uppercase Example: {{ 2 | foobar }}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{% for dep in cookiecutter.flutter.dependencies %}
|
{% for dep in cookiecutter.flutter.dependencies %}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue