|
|
| version 1.1, 2007/04/18 17:17:55 | version 1.1.2.1, 2007/04/18 17:17:55 |
|---|---|
| Line 0 | Line 1 |
| """loesche alle doppelten Personeneintraege aus personal_www""" | |
| try: | |
| import psycopg2 as psycopg | |
| psyco = 2 | |
| except: | |
| import psycopg | |
| psyco = 1 | |
| dsn="dbname=personalwww host=xserve02a user=mysql password=e1nste1n" | |
| dbCon = psycopg.connect(dsn) | |
| db = dbCon.cursor() | |
| #find all keys | |
| qstr="select key from personal_www group by key" | |
| db.execute(qstr) | |
| res=db.fetchall() | |
| keys=[x[0] for x in res] | |
| print keys | |
| for key in keys: | |
| qstr="select id,publish_the_data from personal_www where key='%s' "%key | |
| db.execute(qstr) | |
| res=db.fetchall() | |
| deleteL={} #use hash to generate an unique list of keys | |
| foundPublish=None | |
| for x in res: | |
| if x[1]=="yes": | |
| foundPublish=x[1] | |
| else: | |
| deleteL[x[0]]=True | |
| delete=deleteL.keys() | |
| if (len(delete)>0) and (not foundPublish): #keiner auf publish, loesche alle bis auf den letzten | |
| del delete[-1] | |
| for x in delete: | |
| if x is not None: | |
| qstr="delete from personal_www where id='%s'" %x | |
| print qstr | |
| db.execute(qstr) | |
| dbCon.commit() | |