diff --git a/anki/importing/anki1.py b/anki/importing/anki1.py index e46de23c9..3da4743ad 100644 --- a/anki/importing/anki1.py +++ b/anki/importing/anki1.py @@ -24,9 +24,18 @@ class Anki1Importer(Anki2Importer): traceback.print_exc() self.log.append(traceback.format_exc()) return + # save the conf for later + conf = deck.decks.conf(1) # merge deck.close() mdir = self.file.replace(".anki", ".media") self.deckPrefix = os.path.basename(self.file).replace(".anki", "") self.file = deck.path 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) diff --git a/anki/upgrade.py b/anki/upgrade.py index 4db4bfe35..c21115383 100644 --- a/anki/upgrade.py +++ b/anki/upgrade.py @@ -301,14 +301,11 @@ insert or replace into col select id, cast(created as int), :t, for k in keys: db.execute("delete from deckVars where key=:k", k=k) # copy other settings, ignoring deck order as there's a new default - g['newSpread'] = db.scalar("select newCardSpacing from decks") - g['newPerDay'] = db.scalar("select newCardsPerDay from decks") - g['repLim'] = db.scalar("select sessionRepLimit from decks") - g['timeLim'] = db.scalar("select sessionTimeLimit from decks") - # this needs to be placed in the model later on - conf['oldNewOrder'] = db.scalar("select newCardOrder from decks") - # no reverse option anymore - conf['oldNewOrder'] = min(1, conf['oldNewOrder']) + gc['new']['perDay'] = db.scalar("select newCardsPerDay from decks") + gc['new']['order'] = min(1, db.scalar("select newCardOrder from decks")) + # these are collection level, and can't be imported on a per-deck basis + # conf['newSpread'] = db.scalar("select newCardSpacing from decks") + # conf['timeLim'] = db.scalar("select sessionTimeLimit from decks") # add any deck vars and save dkeys = ("hexCache", "cssCache") 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) + ((due-:stamp)/86400) as int)+:today where type = 2 """, 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 + conf = col.decks.allConf()[0] if not conf['new']['order']: col.sched.randomizeCards(1) # update insertion id