#!/usr/bin/env python

# :mode=python:
"""
Ask "Das Oertliche" for reverse mapping of a telephone number and display result
alpha@webmonster.de

FIXME: evil hack, no exceptions, no checks
"""

import sys
import string
import urllib
from HTMLParser import HTMLParser

baseurl = "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm"

def tuples2dict(tuples):
    return dict([(x[0], x[1]) for x in tuples])


class RevParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.td = 0
        self.res = {}
        self.trig = 0


    def handle_starttag(self, tag, attrs):
        att = tuples2dict(attrs)
        if tag == "td":
            self.td += 1
        if tag == "a" and att.has_key('class'):
            if att['class'] == "blb":
                self.trig = 1


    def handle_endtag(self, tag):
        if tag == "td":
            self.td -= 1
            self.trig = 0


    def handle_data(self, data):
        if self.td == 5 and self.trig > 0:
            print string.strip(data)


if __name__ == "__main__":
    if len(sys.argv) > 0:
        r = RevParser()
        r.feed(urllib.urlopen ("%s?kw_invers=%s&main=Antwort&AKTION=START_INVERS_SUCHE&SEITE=INVERSSUCHE_V&s=2&rg=1&AKTION=START_SUCHE&sourceid=mozilla-search" % (baseurl, sys.argv[1])).read())
        r.close()
