#!/usr/local/bin/python2.2
#!/usr/local/bin/python
import cgi
import os
import pickle
import MySQLdb
import _mysql

import pagedef
import pdqboard
import info
import cgitb; cgitb.enable()

class person:
    def __init__(self, name, married = None, city = None, email = None, about = None):
        self.name = name
        self.married = married
        self.city = city
        self.email = email
        self.about = about

def main():
    form = cgi.FieldStorage(keep_blank_values = 1)

    #db = MySQLdb.connect(user = 'root', host = 'flytrap', passwd = '5a1o6P', db = 'reunionfkhs93')
    db = MySQLdb.connect(user = 'root', unix_socket = '/tmp/mysql.sock', passwd = '5a1o6P', db = 'reunionfkhs93')
    cur = db.cursor()

    name = form.getfirst('name')
    if name:
        psn = info.person(name, form.getfirst('married'), form.getfirst('city'), form.getfirst('email'), form.getfirst('about'))
        try:
            cur.execute("insert into peoplepickles values(%s, %s);", (name, pickle.dumps(psn)))
        except _mysql.IntegrityError:
            cur.execute("update peoplepickles set pickle = %s where name = %s;", (pickle.dumps(psn), name))
        #print "Location:", 'http://' + os.environ["SERVER_NAME"] + os.environ["SCRIPT_NAME"], "\n\n",
        print "Location:", 'http://www2.maxint.net:8475' + os.environ["SCRIPT_NAME"], "\n\n",
        return
    
    print pagedef.start()
    print pdqboard.starttag('H1', {'CLASS': 'graphic'}) + "Biographies" + "</H1>"

    cur.execute("select pickle from peoplepickles order by name")
    for i in cur.fetchall():
        psn = pickle.loads(i[0])

        print pdqboard.starttag('P', {'CLASS': 'message'})
        print "Name:", psn.name, '<BR>'
        if psn.married == 'on':
            print "Married:", "yes", "<BR>"
        if psn.city:
            print "City:", psn.city, '<BR>'
        if psn.email:
            print "Email:", psn.email, '<BR>'
        if psn.about:
            print psn.about
        print '</P>'

    print pagedef.finish()

if __name__ == '__main__':
    main()
