comparison cleanDBUp.py @ 0:bca61e893fcc

first checkin of MPIWGWeb r2 branch from CVS into mercurial
author casties
date Thu, 10 Jan 2013 17:52:13 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:bca61e893fcc
1 """loesche alle doppelten Personeneintraege aus personal_www"""
2 try:
3 import psycopg2 as psycopg
4 psyco = 2
5 except:
6 import psycopg
7 psyco = 1
8
9
10 dsn="dbname=personalwww host=xserve02a user=mysql password=e1nste1n"
11 dbCon = psycopg.connect(dsn)
12 db = dbCon.cursor()
13
14 #find all keys
15
16 qstr="select key from personal_www group by key"
17 db.execute(qstr)
18 res=db.fetchall()
19 keys=[x[0] for x in res]
20 print keys
21 for key in keys:
22 qstr="select id,publish_the_data from personal_www where key='%s' "%key
23 db.execute(qstr)
24 res=db.fetchall()
25
26 deleteL={} #use hash to generate an unique list of keys
27 foundPublish=None
28 for x in res:
29 if x[1]=="yes":
30 foundPublish=x[1]
31 else:
32 deleteL[x[0]]=True
33
34 delete=deleteL.keys()
35 if (len(delete)>0) and (not foundPublish): #keiner auf publish, loesche alle bis auf den letzten
36 del delete[-1]
37
38
39 for x in delete:
40 if x is not None:
41 qstr="delete from personal_www where id='%s'" %x
42
43 print qstr
44 db.execute(qstr)
45 dbCon.commit()
46
47
48
49
50
51