[svn r1607] Add remove flag to the keyword merging.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/BUGS Fri Oct 24 17:55:22 2003 -0400
@@ -0,0 +1,2 @@
+* There is a problem on keywords count for the add subfolder drop box
+ in folder view.
--- a/ChangeLog Fri Oct 24 17:51:57 2003 -0400
+++ b/ChangeLog Fri Oct 24 17:55:22 2003 -0400
@@ -3,9 +3,10 @@
* Add display name to Preferences.
* Add folders view with Add.
* Add a default view between folders and dynamic view.
+ * Add a "remove keyword?" to the merge command.
* Move things around so the code is a bit (really a bit) cleaner.
- -- Fabien Ninoles <fabien@tzone.org> Fri, 17 Oct 2003 15:04:26 -0400
+ -- Fabien Ninoles <fabien@tzone.org> Fri, 24 Oct 2003 17:54:14 -0400
xbelweb (0.1-4) unstable; urgency=low
--- a/do_edit_kw.py Fri Oct 24 17:51:57 2003 -0400
+++ b/do_edit_kw.py Fri Oct 24 17:55:22 2003 -0400
@@ -33,9 +33,10 @@
db = my_db.connect(os.environ["REMOTE_USER"])
ids = get_keywords(form, 'kw')
keywords = map(lambda e: { 'id': e[0], 'keyword': e[1]},
- db.get_all_keywords())
+ db.get_all_keywords()[1:])
keywords.sort(lambda x, y: cmp(x['keyword'],y['keyword']))
sel_keywords = filter(lambda e: e['id'] in ids, keywords)
+ keywords = filter(lambda e: e['id'] not in ids, keywords)
action = form['action'].value
main(action, sel_keywords, keywords, db.get_preferences())
--- a/folders.tmpl Fri Oct 24 17:51:57 2003 -0400
+++ b/folders.tmpl Fri Oct 24 17:55:22 2003 -0400
@@ -16,9 +16,9 @@
<input type="hidden" name="action" value="delete"/>
<ul>
<TMPL_LOOP Subfolders>
- <li><a href="index.py?view=folder;folder=<TMPL_VAR id>"><TMPL_VAR name>
- (<TMPL_VAR count>)</a>
- <button name="delete" value="<TMPL_VAR id>">Delete</button></li>
+ <li><button name="delete" value="<TMPL_VAR id>">Delete</button>
+ <a href="index.py?view=folder;folder=<TMPL_VAR id>"><TMPL_VAR name>
+ (<TMPL_VAR count>)</a></li>
</TMPL_LOOP>
</ul>
</form>
--- a/kw_confirm.tmpl Fri Oct 24 17:51:57 2003 -0400
+++ b/kw_confirm.tmpl Fri Oct 24 17:55:22 2003 -0400
@@ -24,12 +24,13 @@
</TMPL_LOOP>
</p>
<label>Merge them with:
- <select name="kw" size="<TMPL_VAR kw_size>">
+ <select name="kw" size="1">
<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/>
+ <label><input type="checkbox" name="remove"/> Remove keywords?</label>
</TMPL_IF>
<TMPL_IF confirm_rename>
<p>Rename<br/>
--- a/kw_result.py Fri Oct 24 17:51:57 2003 -0400
+++ b/kw_result.py Fri Oct 24 17:55:22 2003 -0400
@@ -20,10 +20,15 @@
fromids = get_keywords(form, 'id')
toid = int(form['kw'].value)
tokw = db.get_keyword(toid)
+ remove_them = form.has_key('remove')
for id in fromids:
fromkw = db.get_keyword(id)
- print "<em>Merging '%s' into '%s'.</em><br/>" % (fromkw, tokw)
- db.merge_keywords(id, toid)
+ if remove_them:
+ print "<em>Merging '%s' into '%s'.</em><br/>" % (fromkw, tokw)
+ db.merge_keywords(id, toid)
+ else:
+ print "<em>Adding '%s' into '%s'.</em><br/>" % (fromkw, tokw)
+ db.merge_keywords(id, toid)
def do_rename(form, db):
ids = get_keywords(form, 'id')
--- a/lib/my_db.py Fri Oct 24 17:51:57 2003 -0400
+++ b/lib/my_db.py Fri Oct 24 17:55:22 2003 -0400
@@ -216,6 +216,20 @@
WHERE id = %d AND userid = %d;
""" % (id, self.userid, id, self.userid))
self.cnx.commit()
+ def add_keywords(self, add_id, into_id):
+ self.crs.execute("""
+ INSERT INTO bookmarks_keywords (userid,
+ bookmark, keyword)
+ SELECT (%d, %d, bookmark)
+ WHERE keyword = %d
+ AND userid = %d
+ AND bookmark NOT IN
+ (SELECT bookmark FROM bookmarks_keywords
+ WHERE userid = %d AND keyword = %d )
+ ;
+ """ % (self.userid, into_id, add_id, self.userid,
+ self.userid, into_id))
+ self.cnx.commit()
def merge_keywords(self, merge_id, into_id):
self.crs.execute("""
UPDATE bookmarks_keywords