mirror of
https://github.com/ankitects/anki.git
synced 2025-11-09 14:17:13 -05:00
create a separate conf group for each imported deck
This commit is contained in:
parent
c1d9b62549
commit
aeb38ab65d
2 changed files with 15 additions and 13 deletions
|
|
@ -24,9 +24,18 @@ class Anki1Importer(Anki2Importer):
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
self.log.append(traceback.format_exc())
|
self.log.append(traceback.format_exc())
|
||||||
return
|
return
|
||||||
|
# save the conf for later
|
||||||
|
conf = deck.decks.conf(1)
|
||||||
# merge
|
# merge
|
||||||
deck.close()
|
deck.close()
|
||||||
mdir = self.file.replace(".anki", ".media")
|
mdir = self.file.replace(".anki", ".media")
|
||||||
self.deckPrefix = os.path.basename(self.file).replace(".anki", "")
|
self.deckPrefix = os.path.basename(self.file).replace(".anki", "")
|
||||||
self.file = deck.path
|
self.file = deck.path
|
||||||
Anki2Importer.run(self, mdir)
|
Anki2Importer.run(self, mdir)
|
||||||
|
# set imported deck to saved conf
|
||||||
|
id = self.col.decks.confId(self.deckPrefix)
|
||||||
|
conf['id'] = id
|
||||||
|
self.col.decks.updateConf(conf)
|
||||||
|
did = self.col.decks.id(self.deckPrefix)
|
||||||
|
d = self.col.decks.get(did)
|
||||||
|
self.col.decks.setConf(d, id)
|
||||||
|
|
|
||||||
|
|
@ -301,14 +301,11 @@ insert or replace into col select id, cast(created as int), :t,
|
||||||
for k in keys:
|
for k in keys:
|
||||||
db.execute("delete from deckVars where key=:k", k=k)
|
db.execute("delete from deckVars where key=:k", k=k)
|
||||||
# copy other settings, ignoring deck order as there's a new default
|
# copy other settings, ignoring deck order as there's a new default
|
||||||
g['newSpread'] = db.scalar("select newCardSpacing from decks")
|
gc['new']['perDay'] = db.scalar("select newCardsPerDay from decks")
|
||||||
g['newPerDay'] = db.scalar("select newCardsPerDay from decks")
|
gc['new']['order'] = min(1, db.scalar("select newCardOrder from decks"))
|
||||||
g['repLim'] = db.scalar("select sessionRepLimit from decks")
|
# these are collection level, and can't be imported on a per-deck basis
|
||||||
g['timeLim'] = db.scalar("select sessionTimeLimit from decks")
|
# conf['newSpread'] = db.scalar("select newCardSpacing from decks")
|
||||||
# this needs to be placed in the model later on
|
# conf['timeLim'] = db.scalar("select sessionTimeLimit from decks")
|
||||||
conf['oldNewOrder'] = db.scalar("select newCardOrder from decks")
|
|
||||||
# no reverse option anymore
|
|
||||||
conf['oldNewOrder'] = min(1, conf['oldNewOrder'])
|
|
||||||
# add any deck vars and save
|
# add any deck vars and save
|
||||||
dkeys = ("hexCache", "cssCache")
|
dkeys = ("hexCache", "cssCache")
|
||||||
for (k, v) in db.execute("select * from deckVars").fetchall():
|
for (k, v) in db.execute("select * from deckVars").fetchall():
|
||||||
|
|
@ -616,12 +613,8 @@ update cards set due = cast(
|
||||||
(case when due < :stamp then 0 else 1 end) +
|
(case when due < :stamp then 0 else 1 end) +
|
||||||
((due-:stamp)/86400) as int)+:today where type = 2
|
((due-:stamp)/86400) as int)+:today where type = 2
|
||||||
""", stamp=col.sched.dayCutoff, today=col.sched.today)
|
""", stamp=col.sched.dayCutoff, today=col.sched.today)
|
||||||
# set new card order
|
|
||||||
conf = col.decks.allConf()[0]
|
|
||||||
conf['new']['order'] = col.conf['oldNewOrder']
|
|
||||||
col.decks.save(conf)
|
|
||||||
del col.conf['oldNewOrder']
|
|
||||||
# possibly re-randomize
|
# possibly re-randomize
|
||||||
|
conf = col.decks.allConf()[0]
|
||||||
if not conf['new']['order']:
|
if not conf['new']['order']:
|
||||||
col.sched.randomizeCards(1)
|
col.sched.randomizeCards(1)
|
||||||
# update insertion id
|
# update insertion id
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue