# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - Parser for css boxes

    @copyright: 2005 by Julián Romero <julian.romero@gmail.com>
    @license: GNU GPL
"""

from MoinMoin.parser import wiki
import StringIO


Dependencies = []

class Parser:
    """ Format css BOXes
    """

    Dependencies = []

    def __init__(self, raw, request, **kw):
        """ Store the source text.
        """
        self.raw = raw
        self.request = request
        self.form = request.form
        self._ = request.getText
        args = (kw.get('format_args','').strip()+("|")).split("|")
        self.css_class, self.css_inline = args[0:2]
        if self.css_inline != '':
            self.css_inline= 'style="%s"' % (self.css_inline,)

    def format(self, formatter):
        """ Parse and send the output
        """

        self.request.write(formatter.rawHTML('<div id="%s-box" class="%s" %s>' % (self.css_class, self.css_class, self.css_inline)))
        wikifier=wiki.Parser(self.raw, self.request)
        wikifier.format(formatter)
        self.request.write(formatter.rawHTML('</div>'))

