mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
prevent merging/deletion of public models, add source id
This commit is contained in:
parent
4685523791
commit
838ed803f7
2 changed files with 12 additions and 4 deletions
|
@ -899,7 +899,8 @@ facts.id = cards.factId""", id=model.id))
|
|||
|
||||
def modelsGroupedByName(self):
|
||||
"Return hash of name -> [id, cardModelIds, fieldIds]"
|
||||
l = self.s.all("select name, id from models order by created")
|
||||
l = self.s.all("select name, id from models where source = 0"
|
||||
" order by created")
|
||||
models = {}
|
||||
for m in l:
|
||||
cms = self.s.column0("""
|
||||
|
|
13
anki/sync.py
13
anki/sync.py
|
@ -32,7 +32,7 @@ from anki.stats import Stats, globalStats
|
|||
from anki.history import CardHistoryEntry
|
||||
from anki.stats import globalStats
|
||||
from anki.media import checksum
|
||||
from anki.utils import ids2str
|
||||
from anki.utils import ids2str, hexifyID
|
||||
from anki.lang import _
|
||||
|
||||
if simplejson.__version__ < "1.7.3":
|
||||
|
@ -704,8 +704,9 @@ where media.id in %s""" % sids, now=time.time())
|
|||
self.applyOneWayPayload(payload)
|
||||
|
||||
def syncOneWayDeckName(self):
|
||||
return self.deck.s.scalar("select name from sources where id = :id",
|
||||
id=self.server.deckName) or self.server.deckName
|
||||
return (self.deck.s.scalar("select name from sources where id = :id",
|
||||
id=self.server.deckName) or
|
||||
hexifyID(int(self.server.deckName)))
|
||||
|
||||
def prepareOneWaySync(self):
|
||||
"Sync setup. True if sync needed. Not used for local sync."
|
||||
|
@ -744,6 +745,12 @@ where media.id in %s""" % sids, now=time.time())
|
|||
# model, facts, media
|
||||
for key in keys:
|
||||
self.updateObjsFromKey(payload[key], key)
|
||||
# models need their source tagged
|
||||
for m in payload["models"]:
|
||||
self.deck.s.statement("update models set source = :s "
|
||||
"where id = :id",
|
||||
s=self.server.deckName,
|
||||
id=m['id'])
|
||||
# cards last, handled differently
|
||||
self.updateOneWayCards(payload['cards'])
|
||||
# update sync time
|
||||
|
|
Loading…
Reference in a new issue