import MySQLdb
import traceback, sets

regex = r".*"
dbpages = sets.Set()
hdpages = sets.Set()

conn = MySQLdb.connect(host = "localhost", user = "root", passwd = "", db = "wp")

def convPagename(pn):
    return conn.escape(pn.encode("iso-8859-1", "replace").replace(" ", "_"))
    
def filter(pagename, mo): # set frontpage FIXME
    if pagename in ("", "FrontPage", "StartSeite") or pagename in hdpages:
        return False
    if pagename in dbpages:
        return True
    cursor = conn.cursor()
    rows = cursor.execute("SELECT 1 FROM cur WHERE cur_title = " + convPagename(pagename))
    cursor.close()
    if (rows > 0):
        dbpages.add(pagename)
        return True
    else:
        hdpages.add(pagename)
        return False

def execute(request, match):
    print "Fetching " + request.page.page_name
    #traceback.print_stack()
    cursor = conn.cursor()
    cursor.execute("SELECT cur_text FROM cur WHERE cur_title = " + convPagename(request.page.page_name))
    row = cursor.fetchone()
    if row is not None:
        text = row[0]
    else:
        text = "Page not found."
    cursor.close()
    return text
