Uuenda.py
Allikas: Lambda
#!/usr/bin/python
import sys
import cgi
import sqlite3 as sqlite
databasefile = 'data.db'
tables = ['t0','t1','t2','t3','t4']
fields = ['f0','f1','f2','f3','f4','f5','f6','f7','f8','f9','f10','f11','f12','f13','f14','f15','f16','f17','f18','f19']
print 'Content-type: text/plain'
print
try:
form = cgi.FieldStorage()
if form.has_key('table') and form['table'].value in tables:
tablename=form['table'].value
else:
print "0"
sys.exit(0)
if form.has_key('salvestaja'):
salvestaja=form['salvestaja'].value
else:
print "0"
sys.exit(0)
if form.has_key('id'):
id=form['id'].value
else:
print "0"
sys.exit(0)
query="update %s set " % tablename
updstr=""
for el in fields:
if form.has_key(el):
updstr=updstr+" "+el+"='"
updstr=updstr+form[el].value.replace('"', ' ').replace("'", " ")+"',"
if not updstr:
print "0"
else:
if updstr[len(updstr)-1]==",":
updstr=updstr[0:len(updstr)-1]
query=query+updstr+" where salvestaja='%s' and id='%s'" % (salvestaja,id)
#print query # uncomment for debugging
con = sqlite.connect(databasefile)
cur = con.cursor()
cur.execute(query)
con.commit()
print "1"
except Exception, e:
#print e # uncommment for debugging
print "0"