# Based on devtools/pastetemplate.py from TurboGears, used under the
# MIT license

"""Definitions for Bazki quickstart template"""
from paste.script import templates
from tempita import paste_script_template_renderer

class BazkiTemplate(templates.Template):
    """
    Bazki default paste template class
    """
    _template_dir = 'code_template'
    template_renderer = staticmethod(paste_script_template_renderer)
    summary = 'Bazki Standard Quickstart Template'
    egg_plugins = ['PasteScript', 'Pylons', 'TurboGears2', 'tg.devtools']
    vars = [
        templates.var('dburl','url for SQLAlchemy database'),
        templates.var('username','username for inital admin user'),
        templates.var('elmname','element name for initial admin user'),
        templates.var('password','password for initial admin user')
        ]

    def pre(self, command, output_dir, vars):
        """Called before template is applied."""
        package_logger = vars['package']
        if package_logger == 'root':
            # Rename the app logger in the rare case a project is named 'root'
            package_logger = 'app'
        vars['package_logger'] = package_logger

        template_engine = vars.setdefault('template_engine', 'mako')
