add_result.py
branchxbelweb
changeset 47 2781ac85b807
parent 43 4d194fce51e1
equal deleted inserted replaced
46:d3c1de4d929e 47:2781ac85b807
     9 print "Content-type: text/html; charset=iso-8859-1;"
     9 print "Content-type: text/html; charset=iso-8859-1;"
    10 print
    10 print
    11 
    11 
    12 # import cgitb; cgitb.enable()
    12 # import cgitb; cgitb.enable()
    13 import cgi
    13 import cgi
    14 from htmltmpl import TemplateManager
    14 from templates import Template
    15 from webutils import get_template_processor
       
    16 import time
    15 import time
    17 from utils import unique
    16 from utils import unique
    18 import my_db
    17 import my_db
    19 from add_confirm import get_bk_from_form, get_new_kw_from_form
    18 from add_confirm import get_bk_from_form, get_new_kw_from_form
    20 from index import load_index
    19 from webutils import load_index
    21 import os
    20 import os
    22 
    21 
    23 def add_new_keywords(db, newkw):
    22 def add_new_keywords(db, newkw):
    24     kw = [0] # Default keyword, so that every bookmarks appears in
    23     kw = [0] # Default keyword, so that every bookmarks appears in
    25              # the bookmarks_keywords db.
    24              # the bookmarks_keywords db.
    31 		id = db.add_keyword(elem)
    30 		id = db.add_keyword(elem)
    32 		kw.append(id)
    31 		kw.append(id)
    33     return kw
    32     return kw
    34 
    33 
    35 def main(bk, kw, prefs):
    34 def main(bk, kw, prefs):
    36     tmpl = TemplateManager().prepare("add_result.tmpl")
    35     tmpl = Template("add_result.tmpl", prefs)
    37     tproc = get_template_processor(prefs)
    36     tmpl.set("url", bk.url)
    38     tproc.set("url", bk.url)
    37     tmpl.set("name", bk.name)
    39     tproc.set("name", bk.name)
    38     tmpl.set("added", bk.added)
    40     tproc.set("added", bk.added)
    39     tmpl.set("desc", bk.desc)
    41     tproc.set("desc", bk.desc)
    40     tmpl.set("Keywords", kw)
    42     tproc.set("Keywords", kw)
    41     print tmpl.process()
    43     print tproc.process(tmpl)
       
    44 
    42 
    45 if (__name__ == "__main__"):
    43 if (__name__ == "__main__"):
    46     form = cgi.FieldStorage()
    44     form = cgi.FieldStorage()
    47     db = my_db.connect(os.environ["REMOTE_USER"])
    45     db = my_db.connect(os.environ["REMOTE_USER"])
       
    46     prefs = db.get_preferences()
    48     action = form['action'].value
    47     action = form['action'].value
    49     if action == 'cancel':
    48     if action == 'cancel':
    50       load_index(db)
    49       load_index(db, prefs)
    51     elif action == 'delete':
    50     elif action == 'delete':
    52       db.remove_bookmark(int(form['id'].value))
    51       db.remove_bookmark(int(form['id'].value))
    53       load_index(db)
    52       load_index(db, prefs)
    54     else:
    53     else:
    55       bk = get_bk_from_form(form)
    54       bk = get_bk_from_form(form)
    56       newkw = get_new_kw_from_form(form)
    55       newkw = get_new_kw_from_form(form)
    57       kw = add_new_keywords(db, newkw)
    56       kw = add_new_keywords(db, newkw)
    58       if bk.id == -1:
    57       if bk.id == -1:
    60       else:
    59       else:
    61 	db.update_bookmark(bk)
    60 	db.update_bookmark(bk)
    62 	id = bk.id
    61 	id = bk.id
    63       db.update_keywords(id, kw)
    62       db.update_keywords(id, kw)
    64       kw = map(lambda e: { 'keyword': e[1] }, db.get_keywords([id])[1:])
    63       kw = map(lambda e: { 'keyword': e[1] }, db.get_keywords([id])[1:])
    65       main(bk, kw, db.get_preferences())
    64       main(bk, kw, prefs)