Test foobar filter
This commit is contained in:
parent
7a20a3a195
commit
7734dfa421
|
|
@ -28,5 +28,6 @@
|
|||
"pwa_theme_color": "#0175C2",
|
||||
"split_per_abi": false,
|
||||
"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 }}
|
||||
|
||||
Uppercase Example: {{ my_custom_function("abc") }}
|
||||
Uppercase Example: {{ 2 | foobar }}
|
||||
*/
|
||||
|
||||
{% for dep in cookiecutter.flutter.dependencies %}
|
||||
|
|
|
|||
Loading…
Reference in New Issue