mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
ensure tags are synced properly in one way sync
This commit is contained in:
parent
423974934c
commit
df0e4d2446
2 changed files with 14 additions and 2 deletions
|
@ -844,6 +844,10 @@ and cards.id in %s""" % ids2str([c[0] for c in cards])))
|
||||||
self.deck.s.flush()
|
self.deck.s.flush()
|
||||||
self.deck.updateCardQACache(
|
self.deck.updateCardQACache(
|
||||||
[(c[0], c[2], c[1], models[c[0]]) for c in cards])
|
[(c[0], c[2], c[1], models[c[0]]) for c in cards])
|
||||||
|
# rebuild priorities on client
|
||||||
|
cardIds = [c[0] for c in cards]
|
||||||
|
self.deck.updateCardTags(cardIds)
|
||||||
|
self.rebuildPriorities(cardIds)
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -35,13 +35,13 @@ def setup_local(loadDecks=None):
|
||||||
deck1.currentModel.cardModels[1].active = True
|
deck1.currentModel.cardModels[1].active = True
|
||||||
deck1.newCardOrder = 1
|
deck1.newCardOrder = 1
|
||||||
f = deck1.newFact()
|
f = deck1.newFact()
|
||||||
f['Front'] = u"foo"; f['Back'] = u"bar"
|
f['Front'] = u"foo"; f['Back'] = u"bar"; f.tags = u"foo"
|
||||||
deck1.addFact(f)
|
deck1.addFact(f)
|
||||||
deck2 = DeckStorage.Deck()
|
deck2 = DeckStorage.Deck()
|
||||||
deck2.addModel(BasicModel())
|
deck2.addModel(BasicModel())
|
||||||
deck2.currentModel.cardModels[1].active = True
|
deck2.currentModel.cardModels[1].active = True
|
||||||
f = deck2.newFact()
|
f = deck2.newFact()
|
||||||
f['Front'] = u"baz"; f['Back'] = u"qux"
|
f['Front'] = u"baz"; f['Back'] = u"qux"; f.tags = u"bar"
|
||||||
deck2.addFact(f)
|
deck2.addFact(f)
|
||||||
deck2.newCardOrder = 1
|
deck2.newCardOrder = 1
|
||||||
client = SyncClient(deck1)
|
client = SyncClient(deck1)
|
||||||
|
@ -256,10 +256,18 @@ def test_localsync_media():
|
||||||
def test_oneway_simple():
|
def test_oneway_simple():
|
||||||
assert deck1.s.scalar("select count(1) from cards") == 2
|
assert deck1.s.scalar("select count(1) from cards") == 2
|
||||||
assert deck2.s.scalar("select count(1) from cards") == 2
|
assert deck2.s.scalar("select count(1) from cards") == 2
|
||||||
|
assert deck1.cardCount == 2
|
||||||
|
assert deck2.cardCount == 2
|
||||||
|
assert deck1.s.scalar("select id from tags where tag = 'foo'")
|
||||||
|
assert not deck1.s.scalar("select id from tags where tag = 'bar'")
|
||||||
server.deckName = "dummy"
|
server.deckName = "dummy"
|
||||||
client.syncOneWay(0)
|
client.syncOneWay(0)
|
||||||
assert deck1.s.scalar("select count(1) from cards") == 4
|
assert deck1.s.scalar("select count(1) from cards") == 4
|
||||||
assert deck2.s.scalar("select count(1) from cards") == 2
|
assert deck2.s.scalar("select count(1) from cards") == 2
|
||||||
|
assert deck1.cardCount == 4
|
||||||
|
assert deck2.cardCount == 2
|
||||||
|
assert deck1.s.scalar("select id from tags where tag = 'foo'")
|
||||||
|
assert deck1.s.scalar("select id from tags where tag = 'bar'")
|
||||||
# should be a noop
|
# should be a noop
|
||||||
client.syncOneWay(0)
|
client.syncOneWay(0)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue