mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
make sure add/delTags() is limited to provided ids
This commit is contained in:
parent
96d3a25c9a
commit
d611299715
2 changed files with 16 additions and 1 deletions
|
@ -541,7 +541,8 @@ insert or ignore into tags (mod, name) values (%d, :t)""" % intTime(),
|
||||||
lim = " or ".join(
|
lim = " or ".join(
|
||||||
[l+"like :_%d" % c for c, t in enumerate(newTags)])
|
[l+"like :_%d" % c for c, t in enumerate(newTags)])
|
||||||
res = self.db.all(
|
res = self.db.all(
|
||||||
"select id, tags from facts where " + lim,
|
"select id, tags from facts where id in %s and %s" % (
|
||||||
|
ids2str(ids), lim),
|
||||||
**dict([("_%d" % x, '%% %s %%' % y) for x, y in enumerate(newTags)]))
|
**dict([("_%d" % x, '%% %s %%' % y) for x, y in enumerate(newTags)]))
|
||||||
# update tags
|
# update tags
|
||||||
fids = []
|
fids = []
|
||||||
|
|
|
@ -170,3 +170,17 @@ def test_selective():
|
||||||
assert deck.db.scalar("select count() from cards where gid = 3") == 3
|
assert deck.db.scalar("select count() from cards where gid = 3") == 3
|
||||||
deck.setGroupForTags(["one"], [], 2)
|
deck.setGroupForTags(["one"], [], 2)
|
||||||
assert deck.db.scalar("select count() from cards where gid = 2") == 2
|
assert deck.db.scalar("select count() from cards where gid = 2") == 2
|
||||||
|
|
||||||
|
def test_addDelTags():
|
||||||
|
deck = getEmptyDeck()
|
||||||
|
f = deck.newFact()
|
||||||
|
f['Front'] = u"1"
|
||||||
|
deck.addFact(f)
|
||||||
|
f2 = deck.newFact()
|
||||||
|
f2['Front'] = u"2"
|
||||||
|
deck.addFact(f2)
|
||||||
|
# adding for a given id
|
||||||
|
deck.addTags([f.id], "foo")
|
||||||
|
f.load(); f2.load()
|
||||||
|
assert "foo" in f.tags
|
||||||
|
assert "foo" not in f2.tags
|
||||||
|
|
Loading…
Reference in a new issue