#!/usr/bin/python
# -*- coding: utf-8 -*-

 
from xml.sax import ContentHandler,make_parser

import sys


class ActorsHandler(ContentHandler):



    def startDocument(self):
        "ce que l'on fait au début du document"

        print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
        print '<html xmlns="http://www.w3.org/1999/xhtml">'
        print '<head>'
        print '<title>Acteurs</title>'
        print '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
        print '<link rel="stylesheet" href="acteurs.css" />'
        print '</head>'
        print '<body>'
        print '<h1>Mes acteurs préférés</h1>'





    def endDocument(self):
        "ce que l'on fait à la fin du document"

        print '</body>'
        print '</html>'




    
    def startElement(self, name, attrs):
        "ce que l'on fait pour chaque balise ouvrante"

        if name=="prenom":
            print '<h2>',
        elif name=="biographie":
            print '</table>'
            print '<h3>Biographie</h3>'
        elif name=="p":
            print '<p>'
        elif name=="refacteur":
            print '<strong>',
        elif name=="film":
            print '<em>',
        elif name=="annee":
            print '<b>',
        elif name=="nationalite":
            print '<tr><th>Nationalité</th><td>',
        elif name=="naissance":
            print '<tr><th>Naissance</th><td>',
        elif name=="site":
            print '<tr><th>Site web</th><td><a href="',attrs['url'],'">',attrs['url'],'</a></td></tr>',
        elif name=="photo":
            print '<tr><th>Photo</th><td><img src="',attrs['source'],'" alt="',attrs['alt'],'" /></td></tr>',






    def endElement(self, name):
        "ce que l'on fait pour chaque balise fermante"

        if name=="nom":
            print '</h2>'
            print '<h3>Fiche signalétique</h3>'
            print '<table>'
        elif name=="p":
            print '</p>'
        elif name=="refacteur":
            print '</strong>',
        elif name=="film":
            print '</em>',
        elif name=="annee":
            print '</b>',
        elif name=="nationalite" or name=="naissance":
            print '</td></tr>'





    def characters(self, content):
        "ce que l'on fait pour le texte"

        print content.encode("utf-8"),




# Parsing d'un fichier d'acteurs

fh = ActorsHandler()

parser = make_parser()

parser.setContentHandler(fh)

parser.parse(sys.argv[1]) # on parse le fichier donné en argument



