Mercurial > hg > MPIWGWeb
view wikixml2sql.py @ 129:741ddaf604b1
Merge with 2e2dd6a5ab262af6ef4e0a1e19192fd8183608e7
author | dwinter |
---|---|
date | Thu, 30 May 2013 22:00:41 +0200 |
parents | bca61e893fcc |
children |
line wrap: on
line source
import xml.parsers.expat import psycopg filename="mann.xml" # 3 handler functions global toggle toggle=False global c def quote(str): str=str.replace("'","\\\'") return str.encode('utf-8') def start_element(name, attrs): global toggle if name=="title": toggle=True def end_element(name): global toggle if name=="title": toggle=False def char_data(data): global toggle global c if toggle: splitted=data.split() if splitted >1: lastname=splitted[-1] firstname=" ".join(splitted[0:-1]) else: lastname=splitted[0] firstname="" print "INSERT into persons (firstname,lastname) VALUES ('%s','%s')"% (quote(firstname),quote(lastname)) c.execute("INSERT into persons (firstname,lastname) VALUES ('%s','%s')"% (quote(firstname),quote(lastname))) c.commit() o = psycopg.connect('dbname=authorities user=dwinter password=3333',serialize=0) c = o.cursor() p = xml.parsers.expat.ParserCreate() p.StartElementHandler = start_element p.EndElementHandler = end_element p.CharacterDataHandler = char_data fh=file(filename) p.ParseFile(fh) o.close()