From 58aebc5b55ae63252d15d5759949c8feae40e22d Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 25 Apr 2012 12:39:02 +0900 Subject: [PATCH] genCards() on findReplace() --- anki/find.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/anki/find.py b/anki/find.py index 95a732cb9..705afb979 100644 --- a/anki/find.py +++ b/anki/find.py @@ -411,8 +411,10 @@ def findReplace(col, nids, src, dst, regex=False, field=None, fold=True): def repl(str): return re.sub(regex, dst, str) d = [] + snids = ids2str(nids) + nids = [] for nid, mid, flds in col.db.execute( - "select id, mid, flds from notes where id in "+ids2str(nids)): + "select id, mid, flds from notes where id in "+snids): origFlds = flds # does it match? sflds = splitFields(flds) @@ -428,12 +430,14 @@ def findReplace(col, nids, src, dst, regex=False, field=None, fold=True): sflds[c] = repl(sflds[c]) flds = joinFields(sflds) if flds != origFlds: + nids.append(nid) d.append(dict(nid=nid,flds=flds,u=col.usn(),m=intTime())) if not d: return 0 # replace col.db.executemany("update notes set flds=:flds,mod=:m,usn=:u where id=:nid", d) col.updateFieldCache(nids) + col.genCards(nids) return len(d) # Find duplicates