[svn r1563] Update to debian-changelog format.
#!/usr/bin/python
import sys
import traceback
sys.path.insert(0, "/home/fabien/lib/python")
sys.path.insert(0, "./lib")
sys.stderr = sys.stdout
print "Content-type: text/html; charset=iso-8859-1;"
print
# import cgitb; cgitb.enable()
import cgi
from htmltmpl import TemplateManager, TemplateProcessor
import time
from utils import unique
import my_db
from add_confirm import get_bk_from_form, get_new_kw_from_form
from index import load_index
import os
def add_new_keywords(db, newkw):
kw = [0] # Default keyword, so that every bookmarks appears in
# the bookmarks_keywords db.
(ids, kws) = map(list,apply(zip, db.get_all_keywords()))
for elem in unique(newkw):
if elem in kws:
kw.append(ids[kws.index(elem)])
else:
id = db.add_keyword(elem)
kw.append(id)
return kw
def main(bk, kw):
tmpl = TemplateManager().prepare("add_result.tmpl")
tproc = TemplateProcessor()
tproc.set("pagetitle", os.environ["REMOTE_USER"]+"'s XBELWeb Result")
tproc.set("url", bk.url)
tproc.set("name", bk.name)
tproc.set("added", bk.added)
tproc.set("desc", bk.desc)
tproc.set("Keywords", kw)
print tproc.process(tmpl)
if (__name__ == "__main__"):
form = cgi.FieldStorage()
db = my_db.connect(os.environ["REMOTE_USER"])
action = form['action'].value
if action == 'cancel':
load_index(db)
elif action == 'delete':
db.remove_bookmark(int(form['id'].value))
load_index(db)
else:
bk = get_bk_from_form(form)
newkw = get_new_kw_from_form(form)
kw = add_new_keywords(db, newkw)
if bk.id == -1:
id = db.add_bookmark(bk)
else:
db.update_bookmark(bk)
id = bk.id
db.update_keywords(id, kw)
kw = map(lambda e: { 'keyword': e[1] }, db.get_keywords(id)[1:])
main(bk, kw)