mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 06:52:21 -04:00
Merge branch 'master' of git://ichi2.net/libanki
This commit is contained in:
commit
19c05259b4
5 changed files with 19 additions and 15 deletions
|
@ -53,6 +53,6 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
version = "0.9.9.7.5"
|
version = "0.9.9.7.6b"
|
||||||
|
|
||||||
from anki.deck import DeckStorage
|
from anki.deck import DeckStorage
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# License: GNU GPL, version 3 or later; http://www.gnu.org/copyleft/gpl.html
|
# License: GNU GPL, version 3 or later; http://www.gnu.org/copyleft/gpl.html
|
||||||
|
|
||||||
import sys, os
|
import sys, os
|
||||||
|
from subprocess import Popen, PIPE
|
||||||
from anki.utils import findTag, stripHTML
|
from anki.utils import findTag, stripHTML
|
||||||
from anki.hooks import addHook
|
from anki.hooks import addHook
|
||||||
|
|
||||||
|
@ -45,7 +46,9 @@ class KakasiController(object):
|
||||||
from errno import ENOENT
|
from errno import ENOENT
|
||||||
raise OSError(ENOENT, 'Kakasi not available')
|
raise OSError(ENOENT, 'Kakasi not available')
|
||||||
# don't convert kana to hiragana
|
# don't convert kana to hiragana
|
||||||
(self.kin, self.kout) = os.popen2("kakasi -isjis -osjis -u -JH -p")
|
p = Popen("kakasi -isjis -osjis -u -JH -p", shell=True,
|
||||||
|
bufsize=-1, stdin=PIPE, stdout=PIPE)
|
||||||
|
(self.kin, self.kout) = (p.stdin, p.stdout)
|
||||||
self._open = True
|
self._open = True
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
|
|
|
@ -260,7 +260,7 @@ from anki.importing.wcu import WCUImporter
|
||||||
|
|
||||||
Importers = (
|
Importers = (
|
||||||
(_("Text separated by tabs or semicolons (*)"), TextImporter),
|
(_("Text separated by tabs or semicolons (*)"), TextImporter),
|
||||||
(_("Anki 1.0 deck (*.anki)"), Anki10Importer),
|
(_("Anki Deck (*.anki)"), Anki10Importer),
|
||||||
(_("Mnemosyne 1.x deck (*.mem)"), Mnemosyne10Importer),
|
(_("Mnemosyne Deck (*.mem)"), Mnemosyne10Importer),
|
||||||
(_("CueCard deck (*.wcu)"), WCUImporter),
|
(_("CueCard Deck (*.wcu)"), WCUImporter),
|
||||||
)
|
)
|
||||||
|
|
|
@ -53,12 +53,12 @@ queue = []
|
||||||
manager = None
|
manager = None
|
||||||
|
|
||||||
if sys.platform.startswith("win32"):
|
if sys.platform.startswith("win32"):
|
||||||
externalPlayer = ["mplayer.exe", "-ao", "win32", "-really-quiet"]
|
externalPlayer = ["mplayer.exe", "-ao", "win32", "-really-quiet", "-noconsolecontrols"]
|
||||||
dir = os.path.dirname(os.path.abspath(sys.argv[0]))
|
dir = os.path.dirname(os.path.abspath(sys.argv[0]))
|
||||||
os.environ['PATH'] += ";" + dir
|
os.environ['PATH'] += ";" + dir
|
||||||
os.environ['PATH'] += ";" + dir + "\\..\\dist" # for testing
|
os.environ['PATH'] += ";" + dir + "\\..\\dist" # for testing
|
||||||
else:
|
else:
|
||||||
externalPlayer = ["mplayer", "-really-quiet"]
|
externalPlayer = ["mplayer", "-really-quiet", "-noconsolecontrols"]
|
||||||
|
|
||||||
# don't show box on windows
|
# don't show box on windows
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
|
@ -121,8 +121,11 @@ class QueueMonitor(threading.Thread):
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
if queue:
|
if queue:
|
||||||
path = queue.pop(0)
|
path = queue.pop(0)
|
||||||
|
try:
|
||||||
retryWait(subprocess.Popen(
|
retryWait(subprocess.Popen(
|
||||||
externalPlayer + [path], startupinfo=si))
|
externalPlayer + [path], startupinfo=si))
|
||||||
|
except OSError:
|
||||||
|
raise Exception("Audio player not found")
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
10
anki/tags.py
10
anki/tags.py
|
@ -51,10 +51,8 @@ def tagIds(s, tags):
|
||||||
ids = {}
|
ids = {}
|
||||||
s.statements("insert or ignore into tags (tag) values (:tag)",
|
s.statements("insert or ignore into tags (tag) values (:tag)",
|
||||||
[{'tag': t} for t in tags])
|
[{'tag': t} for t in tags])
|
||||||
tagsD = dict(s.all("""
|
tagsD = dict([(x.lower(), y) for (x, y) in s.all("""
|
||||||
select lower(tag), id from tags
|
select tag, id from tags
|
||||||
where tag in (%s)""" % ",".join([
|
where tag in (%s)""" % ",".join([
|
||||||
"'%s'" % t.replace("'", "''") for t in tags])))
|
"'%s'" % t.replace("'", "''") for t in tags]))])
|
||||||
for tag in tags:
|
return tagsD
|
||||||
ids[tag.lower()] = tagsD[tag.lower()]
|
|
||||||
return ids
|
|
||||||
|
|
Loading…
Reference in a new issue