py.lib.aw_web_tools

Yohn Y. 2025-03-09 Parent:f444d9fab8f8 Child:376688747096

12:1e2c40d95710 Browse Files

.. 1.202503.4 + Режим разработки для шаблонов

setup.py src/aw_web_tools/simple_template_helper.py

     1.1 --- a/setup.py	Sun Mar 02 15:58:06 2025 +0300
     1.2 +++ b/setup.py	Sun Mar 09 11:39:38 2025 +0300
     1.3 @@ -2,7 +2,7 @@
     1.4  
     1.5  setup(
     1.6      name='aw_web_tools',
     1.7 -    version='1.202503.3',
     1.8 +    version='1.202503.4',
     1.9      packages=['aw_web_tools'],
    1.10      package_dir={'aw_web_tools': 'src/aw_web_tools'},
    1.11      description='Инструментарий для Web-разработки'
     2.1 --- a/src/aw_web_tools/simple_template_helper.py	Sun Mar 02 15:58:06 2025 +0300
     2.2 +++ b/src/aw_web_tools/simple_template_helper.py	Sun Mar 09 11:39:38 2025 +0300
     2.3 @@ -14,9 +14,11 @@
     2.4  
     2.5  
     2.6  class SimpleTmplWrapper(object):
     2.7 -    def __init__(self, file_name: str, **static_params):
     2.8 +    def __init__(self, file_name: str, devel_mode: bool = False, **static_params):
     2.9          """
    2.10          :param file_name: Имя файла шаблона, по которому его сможет отыскать класс ``SimpleTemplate``
    2.11 +        :param devel_mode: Режим разработки. Полезен когда шаблон постоянно изменяется в процессе работы над ним
    2.12 +                           и при каждом ответе его следует перечитывать
    2.13          :param static_params: Параметры, добавляемые в шаблон страницы при каждой генерации
    2.14          """
    2.15          try:
    2.16 @@ -26,10 +28,11 @@
    2.17              raise ValueError(f'Ошибка в инициализации шаблона: {e}')
    2.18  
    2.19          self.static_params = static_params
    2.20 +        self.devel_mode = devel_mode
    2.21  
    2.22      def __call__(self, **params):
    2.23          """\
    2.24 -        Сгенерировать страницу по шаблону, обёткой которого является этот класс
    2.25 +        Сгенерировать страницу по шаблону, обёрткой которого является этот класс
    2.26  
    2.27          :param params: Параметры шаблона, которые обновляют заданные при инициализации класса параметры и передаются
    2.28                      в метод ``SimpleTemplate.render()`` через параметры ключ-значение.
    2.29 @@ -37,6 +40,9 @@
    2.30          """
    2.31          kw_params = self.static_params.copy()
    2.32          kw_params.update(params)
    2.33 +        if self.devel_mode:
    2.34 +            self.tmpl.prepare()
    2.35 +
    2.36          return self.tmpl.render(**kw_params)
    2.37  
    2.38      @staticmethod