do_edit_kw.py
author fabien
Thu, 25 Sep 2003 11:02:05 -0400
branchxbelweb
changeset 15 574631f841c3
child 16 07adce9ccccb
permissions -rwxr-xr-x
[svn r1549] Add update/merge/delete keywords.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     1
#!/usr/bin/python
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     2
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     3
import sys
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     4
import traceback
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     5
sys.path.insert(0, "/home/fabien/lib/python")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     6
sys.path.insert(0, "./lib")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     7
sys.stderr = sys.stdout
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     8
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     9
print "Content-type: text/html; charset=iso-8859-1;"
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    10
print
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    11
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    12
# import cgitb; cgitb.enable()
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    13
import cgi
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    14
from htmltmpl import TemplateManager, TemplateProcessor
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    15
import my_db
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    16
import time
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    17
from bkmark import Bookmark
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    18
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    19
def get_bk_from_form(form):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    20
	bk = Bookmark()
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    21
	bk.id = int(form['id'].value)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    22
	bk.url = form['url'].value
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    23
	if form.has_key('name'):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    24
		bk.name = form['name'].value
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    25
	if form.has_key('desc'):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    26
		bk.desc = form['desc'].value
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    27
	return bk
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    28
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    29
def get_kw_from_form(form):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    30
	kw = form.getvalue("kw")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    31
	if not isinstance(kw, type([])):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    32
		if kw:
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    33
			kw = [kw]
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    34
		else:
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    35
			kw = []
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    36
	kw = map(int, kw)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    37
	return kw
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    38
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    39
def get_new_kw_from_form(form):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    40
	if form.has_key('newkw'):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    41
		return map(lambda e: e.strip(),
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    42
			form['newkw'].value.split(','))
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    43
	else:
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    44
		return []
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    45
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    46
if (__name__ == "__main__"):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    47
    form = cgi.FieldStorage()
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    48
    db = my_db.connect()
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    49
    id = int(form['id'].value)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    50
    action = form['action'].value
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    51
    kwname = db.get_keyword(id)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    52
    name = form['name'].value
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    53
    merge = int(form['keywords'].value)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    54
    mergename = db.get_keyword(merge)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    55
    tmpl = TemplateManager().prepare("kw_confirm.tmpl")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    56
    tproc = TemplateProcessor()
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    57
    tproc.set("confirm_delete", action == 'delete')
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    58
    tproc.set("confirm_merge", action == 'merge')
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    59
    tproc.set("confirm_update", action == 'update')
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    60
    tproc.set("action", action)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    61
    tproc.set("id", id)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    62
    tproc.set("name", kwname)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    63
    tproc.set("newname", name)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    64
    tproc.set("mergeid", merge)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    65
    tproc.set("mergename", mergename)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    66
    print tproc.process(tmpl)
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    67