fix find dupes when fieldname case differs

This commit is contained in:
Damien Elmes 2013-06-01 10:49:33 +09:00
parent 9101867224
commit 5db00d5815

View file

@ -523,13 +523,19 @@ def findDupes(col, fieldName, search=""):
def ordForMid(mid): def ordForMid(mid):
if mid not in fields: if mid not in fields:
model = col.models.get(mid) model = col.models.get(mid)
fields[mid] = col.models.fieldMap(model)[fieldName][0] for c, f in enumerate(model['flds']):
if f['name'].lower() == fieldName.lower():
fields[mid] = c
break
return fields[mid] return fields[mid]
for nid, mid, flds in col.db.all( for nid, mid, flds in col.db.all(
"select id, mid, flds from notes where id in "+ids2str( "select id, mid, flds from notes where id in "+ids2str(
col.findNotes(search))): col.findNotes(search))):
flds = splitFields(flds) flds = splitFields(flds)
val = flds[ordForMid(mid)] ord = ordForMid(mid)
if ord is None:
continue
val = flds[ord]
# empty does not count as duplicate # empty does not count as duplicate
if not val: if not val:
continue continue