From 8b747c3aac93688683ab2521db9530111d53f75a Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 14 Apr 2011 03:49:25 +0900 Subject: [PATCH] allow the user to choose if case should be folded --- anki/deck.py | 4 ++-- anki/find.py | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/anki/deck.py b/anki/deck.py index 20283b5da..e6726036c 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -643,8 +643,8 @@ update facts set tags = :t, mod = :n where id = :id""", [fix(row) for row in res def findCards(self, query): return anki.find.Finder(self).findCards(query) - def findReplace(self, fids, src, dst, regex=None, field=None): - return anki.find.findReplace(self, fids, src, dst, regex, field) + def findReplace(self, fids, src, dst, regex=None, field=None, fold=True): + return anki.find.findReplace(self, fids, src, dst, regex, field, fold) def findDuplicates(self, fmids): return anki.find.findDuplicates(self, fmids) diff --git a/anki/find.py b/anki/find.py index a8dc14ddb..3086fd6a2 100644 --- a/anki/find.py +++ b/anki/find.py @@ -353,7 +353,7 @@ where mid in %s and flds like ? escape '\\'""" % ( # Find and replace ########################################################################## -def findReplace(deck, fids, src, dst, regex=False, field=None): +def findReplace(deck, fids, src, dst, regex=False, field=None, fold=True): "Find and replace fields in a fact." mmap = {} if field: @@ -366,7 +366,9 @@ def findReplace(deck, fids, src, dst, regex=False, field=None): # find and gather replacements if not regex: src = re.escape(src) - regex = re.compile("(?i)"+src) + if fold: + src = "(?i)"+src + regex = re.compile(src) def repl(str): return re.sub(regex, dst, str) d = []