[svn r1574] Keywords edition now in a separate page.
--- a/do_edit_kw.py Sun Sep 28 11:39:55 2003 -0400
+++ b/do_edit_kw.py Tue Oct 07 00:05:17 2003 -0400
@@ -13,33 +13,30 @@
import cgi
from htmltmpl import TemplateManager, TemplateProcessor
import my_db
-import time
from bkmark import Bookmark
+from webutils import get_keywords
import os
-def main(action, id, kwname, name, merge, mergename):
+def main(action, sel_keywords, keywords):
tmpl = TemplateManager().prepare("kw_confirm.tmpl")
tproc = TemplateProcessor()
tproc.set("pagetitle", os.environ["REMOTE_USER"]+"'s XBELWeb Confirmation")
tproc.set("confirm_delete", action == 'delete')
tproc.set("confirm_merge", action == 'merge')
- tproc.set("confirm_update", action == 'update')
+ tproc.set("confirm_rename", action == 'rename')
tproc.set("action", action)
- tproc.set("id", id)
- tproc.set("name", kwname)
- tproc.set("newname", name)
- tproc.set("mergeid", merge)
- tproc.set("mergename", mergename)
+ tproc.set("Selected", sel_keywords)
+ tproc.set("Keywords", keywords)
print tproc.process(tmpl)
if (__name__ == "__main__"):
form = cgi.FieldStorage()
db = my_db.connect(os.environ["REMOTE_USER"])
- id = int(form['id'].value)
+ ids = get_keywords(form, 'kw')
+ keywords = map(lambda e: { 'id': e[0], 'keyword': e[1]},
+ db.get_all_keywords())
+ keywords.sort(lambda x, y: cmp(x['keyword'],y['keyword']))
+ sel_keywords = filter(lambda e: e['id'] in ids, keywords)
action = form['action'].value
- kwname = db.get_keyword(id)
- name = form['name'].value
- merge = int(form['keywords'].value)
- mergename = db.get_keyword(merge)
- main(action, id, kwname, name, merge, mergename)
+ main(action, sel_keywords, keywords)
--- a/edit_kw.py Sun Sep 28 11:39:55 2003 -0400
+++ b/edit_kw.py Tue Oct 07 00:05:17 2003 -0400
@@ -16,23 +16,19 @@
import time
import os
-def main(keyword, id, keywords):
+def main(keywords):
tmpl = TemplateManager().prepare("edit_kw.tmpl")
tproc = TemplateProcessor()
tproc.set("pagetitle", os.environ["REMOTE_USER"]+"'s XBELWeb Edit Keyword")
- tproc.set('keyword', keyword)
- tproc.set('id', id)
tproc.set('Keywords', keywords)
print tproc.process(tmpl)
if (__name__ == "__main__"):
form = cgi.FieldStorage()
- id = int(form["id"].value)
db = my_db.connect(os.environ["REMOTE_USER"])
- name = db.get_keyword(id)
kw = db.get_all_keywords()[1:]
- kw.sort(lambda l,r: cmp(l[1],r[1]))
kw = map(lambda elem: {
'id' : elem[0],
'keyword' : elem[1] }, kw)
- main(name, id, kw)
+ kw.sort(lambda l,r: cmp(l['keyword'],r['keyword']))
+ main(kw)
--- a/edit_kw.tmpl Sun Sep 28 11:39:55 2003 -0400
+++ b/edit_kw.tmpl Tue Oct 07 00:05:17 2003 -0400
@@ -3,16 +3,12 @@
<body>
<h1><TMPL_VAR pagetitle></h1>
<form action="do_edit_kw.py" method="post" name="edit">
- <input type="hidden" name="id" value="<TMPL_VAR id>"/>
- <label>Name: <input type="text" name="name"
- value="<TMPL_VAR keyword>"/></label>
- <button name="action" type="submit" value="update">Update</button><br/>
- <label>Keyword: <select name="keywords">
+ <label>Keywords: <select multiple name="kw">
<TMPL_LOOP Keywords>
- <option value="<TMPL_VAR id>"/><TMPL_VAR keyword></option>
- </TMPL_LOOP>
- </select></label>
+ <option value="<TMPL_VAR id>"><TMPL_VAR keyword></option>
+ </TMPL_LOOP></select><br/>
<button name="action" type="submit" value="merge">Merge</button><br/>
+ <button name="action" type="submit" value="rename">Rename</button><br/>
<button name="action" type="submit" value="delete">Delete</button>
</form>
</body>
--- a/kw_confirm.tmpl Sun Sep 28 11:39:55 2003 -0400
+++ b/kw_confirm.tmpl Tue Oct 07 00:05:17 2003 -0400
@@ -4,22 +4,43 @@
<body>
<h1><TMPL_VAR pagetitle></h1>
<form name="confirmation" method="post" action="kw_result.py">
- <input type="hidden" name="id" value="<TMPL_VAR id>"/>
- <input type="hidden" name="merge" value="<TMPL_VAR mergeid>"/>
- <input type="hidden" name="name" value="<TMPL_VAR newname>"/>
<TMPL_IF confirm_delete>
- <p>Do you really want to remove <em><TMPL_VAR name></em>?</p>
+ <p>Do you really want to remove those keywords?</p>
+ <p>
+ <TMPL_LOOP Selected>
+ <input type="hidden" name="id" value="<TMPL_VAR id>"/>
+ <TMPL_VAR keyword>;
+ </TMPL_LOOP>
+ </p>
+ <button name="action" type="submit"
+ value="<TMPL_VAR action>">Delete</button>
</TMPL_IF>
<TMPL_IF confirm_merge>
- <p>Do you really want to merge <em><TMPL_VAR name></em> into
- <em><TMPL_VAR mergename></em>?</p>
+ <p>Selected keywords:</p>
+ <p>
+ <TMPL_LOOP Selected>
+ <input type="hidden" name="id" value="<TMPL_VAR id>"/>
+ <TMPL_VAR keyword>;
+ </TMPL_LOOP>
+ </p>
+ <label>Merge them with: <select name="kw">
+ <TMPL_LOOP Keywords>
+ <option value="<TMPL_VAR id>"><TMPL_VAR keyword></option>
+ </TMPL_LOOP></select><br/>
+ <button name="action" type="submit"
+ value="<TMPL_VAR action>">Merge</button><br/>
</TMPL_IF>
- <TMPL_IF confirm_update>
- <p>Do you really want to rename <em><TMPL_VAR name></em> into
- <em><TMPL_VAR newname></em>?</p>
+ <TMPL_IF confirm_rename>
+ <p>Rename<br/>
+ <TMPL_LOOP Selected>
+ <label><em><TMPL_VAR keyword></em> to
+ <input type="hidden" name="id" value="<TMPL_VAR id>"/>
+ <input type="text" name="name<TMPL_VAR id>"
+ value="<TMPL_VAR keyword>"/></label><br/>
+ </TMPL_LOOP>
+ <button name="action" type="submit"
+ value="<TMPL_VAR action>">Rename</button><br/>
</TMPL_IF>
- <button name="action" type="submit"
- value="<TMPL_VAR action>">Yes, I want</button>
<button name="action" type="submit" value="cancel">Cancel</button>
</form>
</body>
--- a/kw_result.py Sun Sep 28 11:39:55 2003 -0400
+++ b/kw_result.py Tue Oct 07 00:05:17 2003 -0400
@@ -13,21 +13,31 @@
import cgi
import my_db
from os import environ
-from index import load_index
+from webutils import load_index, get_keywords
def do_merge(form, db):
- fromid = int(form['id'].value)
- toid = int(form['merge'].value)
- db.merge_keywords(fromid, toid)
+ fromids = get_keywords(form, 'id')
+ toid = int(form['kw'].value)
+ tokw = db.get_keyword(toid)
+ for id in fromids:
+ fromkw = db.get_keyword(id)
+ print "<em>Merging '%s' into '%s'.</em><br/>" % (fromkw, tokw)
+ db.merge_keywords(id, toid)
-def do_update(form, db):
- id = int(form['id'].value)
- newname = form['name'].value
- db.update_keyword(id, newname)
+def do_rename(form, db):
+ ids = get_keywords(form, 'id')
+ for id in ids:
+ oldname = db.get_keyword(id)
+ newname = form['name%d' % id].value
+ print "<em>Renaming '%s' into '%s'.</em><br/>" % (oldname, newname)
+ db.update_keyword(id, newname)
def do_delete(form, db):
- id = int(form['id'].value)
- db.remove_keyword(id)
+ ids = get_keywords(form, 'id')
+ for id in ids:
+ kw = db.get_keyword(id)
+ print "<em>Removing '%s'.</em><br/>" % kw
+ db.remove_keyword(id)
if (__name__ == "__main__"):
form = cgi.FieldStorage()
@@ -35,8 +45,8 @@
action = form['action'].value
if action == 'merge':
do_merge(form, db)
- elif action == 'update':
- do_update(form, db)
+ elif action == 'rename':
+ do_rename(form, db)
elif action == 'delete':
do_delete(form, db)
load_index(db)