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

import re
from MoinMoin.parser import wiki

class Parser(wiki.Parser):
    """
    Pre-translate some items from wikispaces to moin
    """
    bold = re.compile(r"\*\*([^\n]+?)\*\*")
    italics = re.compile(r"//([^\n]+?)//")
    link = re.compile(r"\[\[([^\n]+?)\|([^\n]+?)\]\]")
    file = re.compile(r"\[\[file:([^\n]+?)(?:\|([^\n]+?))?\]\]")
    space = re.compile(r" ")
    sig = re.compile(r"\[\[user:([^\n]+?)\]\]")
    ul = re.compile(r"\n[*]\s")
    ol = re.compile(r"\n#\s")
    def format(self, formatter):
        """
        Format
        """
        self.raw = self.bold.sub("'''\\1'''",self.raw)
        self.raw = self.italics.sub("''\\1''",self.raw)

	m = self.file.search(self.raw)
	while m:
		url = self.space.sub("_", m.group(1))
		url = "[http://prospers.org/oldwikifiles/" + url + "]"
		self.raw = self.raw[:m.start(0)] + url + self.raw[m.end(0):]
		m = self.file.search(self.raw, m.end(0))

        self.raw = self.link.sub("[\\1 \\2]",self.raw)
        self.raw = self.sig.sub("-- [\"\\1\"]",self.raw)
        self.raw = self.ul.sub("\n * ",self.raw)
        self.raw = self.ol.sub("\n 1. ",self.raw)
		
        wiki.Parser.format(self, formatter)
