# -*- coding: iso-8859-1 -*-

import sys
from jinja2 import Environment, FileSystemLoader
from MoinMoin import config

Dependencies = ['user']

class Parser():

    extensions = '*'
    Dependencies = []

    def __init__(self, raw, request, **kw):
        self.raw = raw
        self.request = request
        self.env = Environment(loader=FileSystemLoader(self.request.cfg.jinja2_templates, encoding='utf-8'))
        self.template_name = kw.get('format_args', '').strip()

    def format(self, formatter):
        template = self.env.get_template(self.template_name)
        params = {}
        self.lines = self.raw.expandtabs().split('\n')
        for line in self.lines:
            (name, value) = [x.strip() for x in line.split(':', 1)]
            params[name] = value
        self.request.write(formatter.rawHTML(template.render(params)))