From 742a5209544ba56c24ab946f6ed8d36895d6bff0 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 1 Dec 2013 01:44:47 +0900 Subject: [PATCH 1/4] make sure to close debug log when closing collection --- anki/collection.py | 1 + 1 file changed, 1 insertion(+) diff --git a/anki/collection.py b/anki/collection.py index fba9d5899..634b2f443 100644 --- a/anki/collection.py +++ b/anki/collection.py @@ -161,6 +161,7 @@ crt=?, mod=?, scm=?, dty=?, usn=?, ls=?, conf=?""", self.db.close() self.db = None self.media.close() + self._closeLog() def reopen(self): "Reconnect to DB (after changing threads, etc)." From 5bc25e494c04fb67823304fb388397294722a0fa Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 2 Dec 2013 10:26:18 +0900 Subject: [PATCH 2/4] add fixme --- aqt/browser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/aqt/browser.py b/aqt/browser.py index 45f33d554..23025aa65 100644 --- a/aqt/browser.py +++ b/aqt/browser.py @@ -638,6 +638,7 @@ class Browser(QMainWindow): noSort = ("question", "answer", "template", "deck", "note", "noteTags") if type in noSort: if type == "template": + # fixme: change to 'card:1' to be clearer in future dev round showInfo(_("""\ This column can't be sorted on, but you can search for individual card types, \ such as 'card:Card 1'.""")) From 636d70ab16f39dfd6277df0e5767ab9bff47df95 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 2 Dec 2013 23:57:56 +0900 Subject: [PATCH 3/4] make sure we reopen log after export --- anki/collection.py | 1 + 1 file changed, 1 insertion(+) diff --git a/anki/collection.py b/anki/collection.py index 634b2f443..66735af5d 100644 --- a/anki/collection.py +++ b/anki/collection.py @@ -169,6 +169,7 @@ crt=?, mod=?, scm=?, dty=?, usn=?, ls=?, conf=?""", if not self.db: self.db = anki.db.DB(self.path) self.media.connect() + self._openLog() def rollback(self): self.db.rollback() From ba589ac8cc209912af8b4ef0206f288966ed75e4 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 4 Dec 2013 11:43:57 +0900 Subject: [PATCH 4/4] need to compare mediaList with nfd on macs otherwise the server says we have file x and local code doesn't notice it already exists --- anki/media.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/anki/media.py b/anki/media.py index d5afa4b57..b30234665 100644 --- a/anki/media.py +++ b/anki/media.py @@ -2,7 +2,6 @@ # Copyright: Damien Elmes # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import os import re import urllib import unicodedata @@ -505,8 +504,12 @@ create table log (fname text primary key, type int); need = [] remove = [] for f in files: - if self.db.scalar("select 1 from log where fname=?", f): - remove.append((f,)) + if isMac: + name = unicodedata.normalize("NFD", f) + else: + name = f + if self.db.scalar("select 1 from log where fname=?", name): + remove.append((name,)) else: need.append(f) self.db.executemany("delete from log where fname=?", remove)