From 1f56bc3ec0c989965d11e22916e7b935cb3a9c22 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 20 Mar 2009 14:18:56 +0900 Subject: [PATCH] support limiting to single field in find and replace --- anki/deck.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/anki/deck.py b/anki/deck.py index 265cc26ba..de1e25732 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -1634,15 +1634,19 @@ where id = :id""", pending) # Find and replace ########################################################################## - def findReplace(self, factIds, src, dst, isRe=False): + def findReplace(self, factIds, src, dst, isRe=False, field=None): + "Find and replace fields in a fact." # find s = "select id, factId, value from fields where factId in %s" if isRe: isRe = re.compile(src) else: - s += "and value like :v" + s += " and value like :v" + if field: + s += " and fieldModelId = :fmid" rows = self.s.all(s % ids2str(factIds), - v="%"+src.replace("%", "%%")+"%") + v="%"+src.replace("%", "%%")+"%", + fmid=field) modded = [] if isRe: modded = [