Annotation of MPIWGWeb/wikixml2sql.py, revision 1.1.2.1

1.1.2.1 ! dwinter     1: import xml.parsers.expat
        !             2: import psycopg
        !             3: 
        !             4: filename="mann.xml"
        !             5: 
        !             6: # 3 handler functions
        !             7: global toggle
        !             8: toggle=False
        !             9: 
        !            10: global c
        !            11: 
        !            12: def quote(str):
        !            13:     str=str.replace("'","\\\'")
        !            14:     return str.encode('utf-8')
        !            15: 
        !            16: def start_element(name, attrs):
        !            17:     global toggle
        !            18:     if name=="title":
        !            19:         toggle=True
        !            20: def end_element(name):
        !            21:     global toggle
        !            22:     if name=="title":
        !            23:         toggle=False
        !            24: def char_data(data):
        !            25:     global toggle
        !            26:     global c
        !            27:     if toggle:
        !            28:         splitted=data.split()
        !            29:         if splitted >1:
        !            30:             lastname=splitted[-1]
        !            31:             firstname=" ".join(splitted[0:-1])
        !            32:         else:
        !            33:             lastname=splitted[0]
        !            34:             firstname=""
        !            35:         print "INSERT into persons (firstname,lastname) VALUES ('%s','%s')"% (quote(firstname),quote(lastname))
        !            36:         c.execute("INSERT into persons (firstname,lastname) VALUES ('%s','%s')"% (quote(firstname),quote(lastname)))
        !            37:         c.commit()
        !            38:     
        !            39:     
        !            40: o = psycopg.connect('dbname=authorities user=dwinter password=3333',serialize=0) 
        !            41: c = o.cursor() 
        !            42: 
        !            43: p = xml.parsers.expat.ParserCreate()
        !            44: 
        !            45: p.StartElementHandler = start_element
        !            46: p.EndElementHandler = end_element
        !            47: p.CharacterDataHandler = char_data
        !            48: fh=file(filename)
        !            49: p.ParseFile(fh)
        !            50: 
        !            51: o.close()

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>