mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-11-29 08:33:07 +00:00
Move rendering commands to utils
This commit is contained in:
@@ -10,7 +10,7 @@ from freqtrade.configuration.directory_operations import chown_user_directory
|
|||||||
from freqtrade.constants import UNLIMITED_STAKE_AMOUNT
|
from freqtrade.constants import UNLIMITED_STAKE_AMOUNT
|
||||||
from freqtrade.exceptions import OperationalException
|
from freqtrade.exceptions import OperationalException
|
||||||
from freqtrade.exchange import MAP_EXCHANGE_CHILDCLASS, available_exchanges
|
from freqtrade.exchange import MAP_EXCHANGE_CHILDCLASS, available_exchanges
|
||||||
from freqtrade.misc import render_template
|
from freqtrade.util import render_template
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from freqtrade.configuration.directory_operations import copy_sample_files, crea
|
|||||||
from freqtrade.constants import USERPATH_STRATEGIES
|
from freqtrade.constants import USERPATH_STRATEGIES
|
||||||
from freqtrade.enums import RunMode
|
from freqtrade.enums import RunMode
|
||||||
from freqtrade.exceptions import OperationalException
|
from freqtrade.exceptions import OperationalException
|
||||||
from freqtrade.misc import render_template, render_template_with_fallback
|
from freqtrade.util import render_template, render_template_with_fallback
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -192,30 +192,6 @@ def plural(num: float, singular: str, plural: Optional[str] = None) -> str:
|
|||||||
return singular if (num == 1 or num == -1) else plural or singular + 's'
|
return singular if (num == 1 or num == -1) else plural or singular + 's'
|
||||||
|
|
||||||
|
|
||||||
def render_template(templatefile: str, arguments: dict = {}) -> str:
|
|
||||||
|
|
||||||
from jinja2 import Environment, PackageLoader, select_autoescape
|
|
||||||
|
|
||||||
env = Environment(
|
|
||||||
loader=PackageLoader('freqtrade', 'templates'),
|
|
||||||
autoescape=select_autoescape(['html', 'xml'])
|
|
||||||
)
|
|
||||||
template = env.get_template(templatefile)
|
|
||||||
return template.render(**arguments)
|
|
||||||
|
|
||||||
|
|
||||||
def render_template_with_fallback(templatefile: str, templatefallbackfile: str,
|
|
||||||
arguments: dict = {}) -> str:
|
|
||||||
"""
|
|
||||||
Use templatefile if possible, otherwise fall back to templatefallbackfile
|
|
||||||
"""
|
|
||||||
from jinja2.exceptions import TemplateNotFound
|
|
||||||
try:
|
|
||||||
return render_template(templatefile, arguments)
|
|
||||||
except TemplateNotFound:
|
|
||||||
return render_template(templatefallbackfile, arguments)
|
|
||||||
|
|
||||||
|
|
||||||
def chunks(lst: List[Any], n: int) -> Iterator[List[Any]]:
|
def chunks(lst: List[Any], n: int) -> Iterator[List[Any]]:
|
||||||
"""
|
"""
|
||||||
Split lst into chunks of the size n.
|
Split lst into chunks of the size n.
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from freqtrade.util.datetime_helpers import (dt_floor_day, dt_from_ts, dt_humani
|
|||||||
dt_utc, format_ms_time, shorten_date)
|
dt_utc, format_ms_time, shorten_date)
|
||||||
from freqtrade.util.ft_precise import FtPrecise
|
from freqtrade.util.ft_precise import FtPrecise
|
||||||
from freqtrade.util.periodic_cache import PeriodicCache
|
from freqtrade.util.periodic_cache import PeriodicCache
|
||||||
|
from freqtrade.util.template_renderer import render_template, render_template_with_fallback # noqa
|
||||||
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
|||||||
25
freqtrade/util/template_renderer.py
Normal file
25
freqtrade/util/template_renderer.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
"""
|
||||||
|
Jinja2 rendering utils, used to generate new strategy and configurations.
|
||||||
|
"""
|
||||||
|
def render_template(templatefile: str, arguments: dict = {}) -> str:
|
||||||
|
|
||||||
|
from jinja2 import Environment, PackageLoader, select_autoescape
|
||||||
|
|
||||||
|
env = Environment(
|
||||||
|
loader=PackageLoader('freqtrade', 'templates'),
|
||||||
|
autoescape=select_autoescape(['html', 'xml'])
|
||||||
|
)
|
||||||
|
template = env.get_template(templatefile)
|
||||||
|
return template.render(**arguments)
|
||||||
|
|
||||||
|
|
||||||
|
def render_template_with_fallback(templatefile: str, templatefallbackfile: str,
|
||||||
|
arguments: dict = {}) -> str:
|
||||||
|
"""
|
||||||
|
Use templatefile if possible, otherwise fall back to templatefallbackfile
|
||||||
|
"""
|
||||||
|
from jinja2.exceptions import TemplateNotFound
|
||||||
|
try:
|
||||||
|
return render_template(templatefile, arguments)
|
||||||
|
except TemplateNotFound:
|
||||||
|
return render_template(templatefallbackfile, arguments)
|
||||||
Reference in New Issue
Block a user