#!/usr/bin/env python

import re

# line2=("{{./img/archlinux.jpg}}")
# line2=("{{./img/archlinux.jpg}{ALT-Text}}")
# line2=("{{50%}{./img/archlinux.jpg}}")
# line2=("{{100px}{./img/archlinux.jpg}}")
# line2=("[[http://www.fh-isny.de][{{100%}{./img/archlinux.jpg}{ALT-Text}}]]")
# line2=("{{100%}{./img/archlinux.jpg}{ALT-Text}}][[http://www.fh-isny.de][]")
# line2=("[[http://www.fh-isny.de][Website der nta Isny]]")
line2="""{{100px}{./img/archlinux.jpg}}mdsh''fkj''hdfjk'''''f'e't't'''''[[http://www.fh-isny.de][Website der nta Isny]][[http://susta.fh-isny.de][SuStA der nta Isny{{500px}{./img/susta.jpg}{susta-bild}}]]{{./img/susta.jpg}{susta-bild}}absatz1

absatz2
absatz3\n\n"""

def wiki_to_html(line): 
    print break_wiki_to_html(link_wiki_to_html(img_wiki_to_html(italic_wiki_to_html(bold_wiki_to_html(line)))))

def break_wiki_to_html(line):
    line=line.strip()
    line=line.replace('\n\n','</p><p>')
    line=line.replace('\n',' ')
    line="<p>"+line+"</p>"
    return line

def bold_wiki_to_html(line):
    such=re.compile('(\'\'\'.{1,}\'\'\')')
    result=such.search(line)
    while result:
          line=such.sub("<b>" +line[result.start()+3:result.end()-3] +"</b>",line,0)
          result=such.search(line)
    return line

def italic_wiki_to_html(line):
    such=re.compile('(\'\'.{1,}?\'\')')
    result=such.search(line)
    while result:
          line=such.sub("<i>" +line[result.start()+2:result.end()-2] +"</i>",line,1)
          result=such.search(line)
    return line

def link_wiki_to_html(line):
     such=re.compile('(\[.{1,}?\])')
     such2=re.compile('(\[\[.{1,}?\]\])')
     result=such.findall(line)
     while result:
         for counter in range(0,result.__len__(),2):
             url=result[counter][2:-1]
             desc=result[counter+1][1:-1]
             link="<a href=\"" +url +"\">" +desc +"</a>"
             line=such2.sub(link,line,1)
         else:
             result=""
     return line

def img_wiki_to_html(line):
    such2=re.compile('(\{\{.{1,}?\}\})')
    result2=such2.search(line)
    while result2:
        such=re.compile('(\{.{1,}?\})')
        result=such.findall(result2.group())
        if result:
             if result.__len__()==1:
                     htmlline="<img src=\"" + result[0][2:-1] +"\">"
             elif result.__len__()==2:
                     such1=re.compile("\d+(px|\%)*")
                     result1=such1.search(result[0])
                     if result[0]=="thumb":
                         img="<img width=\"180px\" alt=\"\" float=\"right\" src=\"" + result[1][2:-1] +"\">"
                     elif result1:
                         img="<img width=\"" +result1.group() +"\" src=\"" + result[1][1:-1] +"\">"
                     else:
                         img="<img src=\"" +result[0][2:-1] +"\" alt=\"" +result[1][1:-1] +"\">"
             elif result.__len__()==3:
                         img="<img src=\"" +result[1][1:-1] +"\" width=\"" +result[0][2:-1] +"\" alt=\"" +result[2][1:-1] +"\">"
             line=such2.sub(img,line,1)
        result2=such2.search(line)
    else:
        result2=""
    return line

wiki_to_html(line2)

