mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 06:22:22 -04:00
optimize imports
This commit is contained in:
parent
b84681c2fe
commit
b2457811a2
69 changed files with 95 additions and 192 deletions
|
@ -11,5 +11,5 @@ sys.path.insert(0, os.path.join(base, "libanki"))
|
||||||
# or git
|
# or git
|
||||||
sys.path.insert(0, os.path.join(base, "..", "libanki"))
|
sys.path.insert(0, os.path.join(base, "..", "libanki"))
|
||||||
# start
|
# start
|
||||||
import anki, aqt
|
import aqt
|
||||||
aqt.run()
|
aqt.run()
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from anki.utils import intTime, hexifyID, timestampID, joinFields
|
from anki.utils import intTime, timestampID, joinFields
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
|
|
||||||
# temporary
|
# temporary
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time, os, random, re, stat, datetime, copy, shutil, sys
|
import time, os, random, stat, datetime, copy
|
||||||
from anki.lang import _, ngettext
|
from anki.lang import _, ngettext
|
||||||
from anki.utils import ids2str, hexifyID, checksum, fieldChecksum, stripHTML, \
|
from anki.utils import ids2str, fieldChecksum, stripHTML, \
|
||||||
intTime, splitFields, joinFields, maxID, json
|
intTime, splitFields, joinFields, maxID, json
|
||||||
from anki.hooks import runHook, runFilter
|
from anki.hooks import runFilter
|
||||||
from anki.sched import Scheduler
|
from anki.sched import Scheduler
|
||||||
from anki.models import ModelManager
|
from anki.models import ModelManager
|
||||||
from anki.media import MediaManager
|
from anki.media import MediaManager
|
||||||
|
|
|
@ -8,8 +8,6 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from sqlite3 import dbapi2 as sqlite
|
from sqlite3 import dbapi2 as sqlite
|
||||||
|
|
||||||
from anki.hooks import runHook
|
|
||||||
|
|
||||||
class DB(object):
|
class DB(object):
|
||||||
def __init__(self, path, text=None, timeout=0):
|
def __init__(self, path, text=None, timeout=0):
|
||||||
encpath = path
|
encpath = path
|
||||||
|
|
|
@ -2,11 +2,9 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import itertools, time, re, os, HTMLParser, zipfile, shutil
|
import re, os, zipfile, shutil
|
||||||
from operator import itemgetter
|
|
||||||
from anki.cards import Card
|
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.utils import stripHTML, ids2str, splitFields, json
|
from anki.utils import ids2str, splitFields, json
|
||||||
from anki.hooks import runHook
|
from anki.hooks import runHook
|
||||||
from anki import Collection
|
from anki import Collection
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import re
|
import re
|
||||||
from anki.utils import ids2str, splitFields, joinFields, stripHTML, intTime
|
from anki.utils import ids2str, splitFields, joinFields, intTime
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
import sre_constants
|
import sre_constants
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from anki import Collection
|
from anki import Collection
|
||||||
from anki.utils import intTime, splitFields, joinFields, checksum, guid64, \
|
from anki.utils import intTime, splitFields, joinFields, incGuid
|
||||||
incGuid
|
|
||||||
from anki.importing.base import Importer
|
from anki.importing.base import Importer
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.lang import ngettext
|
from anki.lang import ngettext
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from anki.utils import intTime, maxID
|
from anki.utils import maxID
|
||||||
|
|
||||||
# Base importer
|
# Base importer
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
import codecs, csv, re
|
import codecs, csv, re
|
||||||
from anki.importing.noteimp import NoteImporter, ForeignNote
|
from anki.importing.noteimp import NoteImporter, ForeignNote
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.errors import *
|
|
||||||
|
|
||||||
class TextImporter(NoteImporter):
|
class TextImporter(NoteImporter):
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,8 @@
|
||||||
|
|
||||||
import time, re
|
import time, re
|
||||||
from anki.db import DB
|
from anki.db import DB
|
||||||
from anki.importing.base import Importer
|
|
||||||
from anki.importing.noteimp import NoteImporter, ForeignNote, ForeignCard
|
from anki.importing.noteimp import NoteImporter, ForeignNote, ForeignCard
|
||||||
from anki.utils import checksum, base91
|
|
||||||
from anki.stdmodels import addBasicModel
|
from anki.stdmodels import addBasicModel
|
||||||
from anki.lang import _
|
|
||||||
from anki.lang import ngettext
|
from anki.lang import ngettext
|
||||||
|
|
||||||
class MnemosyneImporter(NoteImporter):
|
class MnemosyneImporter(NoteImporter):
|
||||||
|
|
|
@ -2,11 +2,10 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time, cgi
|
import cgi
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.utils import fieldChecksum, ids2str, guid64, timestampID, \
|
from anki.utils import fieldChecksum, guid64, timestampID, \
|
||||||
joinFields, intTime, splitFields
|
joinFields, intTime, splitFields
|
||||||
from anki.errors import *
|
|
||||||
from anki.importing.base import Importer
|
from anki.importing.base import Importer
|
||||||
from anki.lang import ngettext
|
from anki.lang import ngettext
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,10 @@ from anki.stdmodels import addBasicModel
|
||||||
from anki.importing.noteimp import NoteImporter, ForeignNote, ForeignCard
|
from anki.importing.noteimp import NoteImporter, ForeignNote, ForeignCard
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.lang import ngettext
|
from anki.lang import ngettext
|
||||||
from anki.errors import *
|
|
||||||
|
|
||||||
from xml.dom import minidom, Node
|
from xml.dom import minidom
|
||||||
from types import DictType, InstanceType
|
from types import DictType, InstanceType
|
||||||
from string import capwords, maketrans
|
from string import capwords
|
||||||
import re, unicodedata, time
|
import re, unicodedata, time
|
||||||
|
|
||||||
class SmartDict(dict):
|
class SmartDict(dict):
|
||||||
|
|
|
@ -2,10 +2,9 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import re, os, sys, shutil, cgi, subprocess
|
import re, os, shutil, cgi
|
||||||
from anki.utils import checksum, call, namedtmp, tmpdir, isMac, stripHTML
|
from anki.utils import checksum, call, namedtmp, tmpdir, isMac, stripHTML
|
||||||
from anki.hooks import addHook
|
from anki.hooks import addHook
|
||||||
from htmlentitydefs import entitydefs
|
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
|
|
||||||
latexCmd = ["latex", "-interaction=nonstopmode"]
|
latexCmd = ["latex", "-interaction=nonstopmode"]
|
||||||
|
|
|
@ -2,11 +2,10 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import os, shutil, re, urllib, urllib2, time, unicodedata, \
|
import os, shutil, re, urllib, unicodedata, \
|
||||||
sys, zipfile
|
sys, zipfile
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from anki.utils import checksum, intTime, namedtmp, isWin, isMac, json
|
from anki.utils import checksum, isWin, isMac, json
|
||||||
from anki.lang import _
|
|
||||||
from anki.db import DB
|
from anki.db import DB
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
from anki.latex import mungeQA
|
from anki.latex import mungeQA
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import copy, re
|
import copy, re
|
||||||
from anki.utils import intTime, hexifyID, joinFields, splitFields, ids2str, \
|
from anki.utils import intTime, joinFields, splitFields, ids2str,\
|
||||||
timestampID, checksum, json
|
checksum, json
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
from anki.hooks import runHook
|
from anki.hooks import runHook
|
||||||
|
|
|
@ -2,10 +2,8 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time
|
|
||||||
from anki.errors import AnkiError
|
|
||||||
from anki.utils import fieldChecksum, intTime, \
|
from anki.utils import fieldChecksum, intTime, \
|
||||||
joinFields, splitFields, ids2str, stripHTML, timestampID, guid64
|
joinFields, splitFields, stripHTML, timestampID, guid64
|
||||||
|
|
||||||
class Note(object):
|
class Note(object):
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time, datetime, random, itertools, math
|
import time, random, itertools
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from heapq import *
|
from heapq import *
|
||||||
#from anki.cards import Card
|
#from anki.cards import Card
|
||||||
from anki.utils import ids2str, intTime, fmtTimeSpan
|
from anki.utils import ids2str, intTime, fmtTimeSpan
|
||||||
from anki.lang import _, ngettext
|
from anki.lang import _
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
from anki.hooks import runHook
|
from anki.hooks import runHook
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import re, sys, threading, time, subprocess, os, signal, errno, atexit
|
import re, sys, threading, time, subprocess, os, atexit
|
||||||
import shutil, random
|
import random
|
||||||
from anki.hooks import addHook, runHook
|
from anki.hooks import addHook
|
||||||
from anki.utils import namedtmp, tmpdir, isWin, isMac
|
from anki.utils import tmpdir, isWin, isMac
|
||||||
|
|
||||||
# Shared utils
|
# Shared utils
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -2,12 +2,10 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time, sys, os, datetime, json
|
import time, datetime, json
|
||||||
import anki.js
|
import anki.js
|
||||||
from anki.utils import fmtTimeSpan, fmtFloat, ids2str
|
from anki.utils import fmtTimeSpan, ids2str
|
||||||
from anki.consts import *
|
|
||||||
from anki.lang import _, ngettext
|
from anki.lang import _, ngettext
|
||||||
from anki.hooks import runFilter
|
|
||||||
|
|
||||||
# Card stats
|
# Card stats
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
import os, copy, re
|
import os, copy, re
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
from anki.utils import intTime, ids2str, json
|
from anki.utils import intTime, json
|
||||||
from anki.db import DB
|
from anki.db import DB
|
||||||
from anki.collection import _Collection
|
from anki.collection import _Collection
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
|
|
|
@ -4,12 +4,9 @@
|
||||||
|
|
||||||
import urllib, os, sys, httplib2, gzip
|
import urllib, os, sys, httplib2, gzip
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from datetime import date
|
|
||||||
from anki.db import DB
|
from anki.db import DB
|
||||||
from anki.errors import *
|
from anki.utils import ids2str, intTime, json, isWin, isMac
|
||||||
from anki.utils import ids2str, checksum, intTime, json, isWin, isMac
|
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
from anki.lang import _
|
|
||||||
from hooks import runHook
|
from hooks import runHook
|
||||||
|
|
||||||
# syncing vars
|
# syncing vars
|
||||||
|
@ -73,8 +70,6 @@ _setupProxy()
|
||||||
# Incremental syncing
|
# Incremental syncing
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
from anki.consts import *
|
|
||||||
|
|
||||||
class Syncer(object):
|
class Syncer(object):
|
||||||
|
|
||||||
def __init__(self, col, server=None):
|
def __init__(self, col, server=None):
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import re
|
|
||||||
from anki.hooks import addHook
|
from anki.hooks import addHook
|
||||||
from anki.lang import _
|
from anki.lang import _
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
import re
|
import re
|
||||||
import cgi
|
|
||||||
import collections
|
|
||||||
from anki.utils import stripHTML
|
from anki.utils import stripHTML
|
||||||
from anki.hooks import runFilter
|
from anki.hooks import runFilter
|
||||||
from anki.template import furigana; furigana.install()
|
from anki.template import furigana; furigana.install()
|
||||||
from anki.template import hint; hint.install()
|
from anki.template import hint; hint.install()
|
||||||
from anki.lang import _
|
|
||||||
|
|
||||||
clozeReg = r"\{\{c%s::(.*?)(::(.*?))?\}\}"
|
clozeReg = r"\{\{c%s::(.*?)(::(.*?))?\}\}"
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/copyleft/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/copyleft/agpl.html
|
||||||
|
|
||||||
import os, time, re, datetime, shutil
|
import time, re, datetime, shutil
|
||||||
from anki.lang import _
|
|
||||||
from anki.utils import intTime, tmpfile, ids2str, splitFields, base91, json
|
from anki.utils import intTime, tmpfile, ids2str, splitFields, base91, json
|
||||||
from anki.db import DB
|
from anki.db import DB
|
||||||
from anki.collection import _Collection
|
from anki.collection import _Collection
|
||||||
|
|
|
@ -2,11 +2,10 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import re, os, random, time, types, math, htmlentitydefs, subprocess, \
|
import re, os, random, time, math, htmlentitydefs, subprocess, \
|
||||||
tempfile, shutil, string, httplib2, sys, locale
|
tempfile, shutil, string, httplib2, sys, locale
|
||||||
from hashlib import sha1
|
from hashlib import sha1
|
||||||
from anki.lang import _, ngettext
|
from anki.lang import _, ngettext
|
||||||
from anki.consts import *
|
|
||||||
|
|
||||||
if sys.version_info[1] < 5:
|
if sys.version_info[1] < 5:
|
||||||
def format_string(a, b):
|
def format_string(a, b):
|
||||||
|
|
|
@ -172,7 +172,7 @@ def parseArgs(argv):
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
global mw
|
global mw
|
||||||
from anki.utils import isWin, isMac
|
from anki.utils import isMac
|
||||||
|
|
||||||
# on osx we'll need to add the qt plugins to the search path
|
# on osx we'll need to add the qt plugins to the search path
|
||||||
if isMac and getattr(sys, 'frozen', None):
|
if isMac and getattr(sys, 'frozen', None):
|
||||||
|
|
|
@ -3,16 +3,12 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import sys, re
|
|
||||||
import aqt.forms
|
import aqt.forms
|
||||||
import anki
|
|
||||||
from anki.errors import *
|
|
||||||
from anki.utils import stripHTML
|
|
||||||
from aqt.utils import saveGeom, restoreGeom, showWarning, askUser, shortcut, \
|
from aqt.utils import saveGeom, restoreGeom, showWarning, askUser, shortcut, \
|
||||||
tooltip, openHelp, addCloseShortcut
|
tooltip, openHelp, addCloseShortcut
|
||||||
from anki.sound import clearAudioQueue
|
from anki.sound import clearAudioQueue
|
||||||
from anki.hooks import addHook, remHook
|
from anki.hooks import addHook, remHook
|
||||||
from anki.utils import stripHTMLMedia, isMac
|
from anki.utils import stripHTMLMedia
|
||||||
import aqt.editor, aqt.modelchooser, aqt.deckchooser
|
import aqt.editor, aqt.modelchooser, aqt.deckchooser
|
||||||
|
|
||||||
class AddCards(QDialog):
|
class AddCards(QDialog):
|
||||||
|
|
|
@ -2,18 +2,14 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import sys, os, re, traceback, time
|
import sys, os, traceback
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from aqt.utils import showInfo, showWarning, openFolder, isWin, openLink, \
|
from aqt.utils import showInfo, openFolder, isWin, openLink, \
|
||||||
askUser
|
askUser
|
||||||
from anki.hooks import runHook, addHook, remHook
|
|
||||||
from aqt.webview import AnkiWebView
|
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
import aqt.forms
|
import aqt.forms
|
||||||
import aqt
|
import aqt
|
||||||
from anki.sync import httpCon
|
|
||||||
import aqt.sync # monkey-patches httplib2
|
|
||||||
from aqt.downloader import download
|
from aqt.downloader import download
|
||||||
|
|
||||||
# in the future, it would be nice to save the addon id and unzippped file list
|
# in the future, it would be nice to save the addon id and unzippped file list
|
||||||
|
|
|
@ -4,15 +4,13 @@
|
||||||
|
|
||||||
import sre_constants, cgi
|
import sre_constants, cgi
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import time, types, sys, re
|
import time, re
|
||||||
from operator import attrgetter, itemgetter
|
from operator import itemgetter
|
||||||
import anki, anki.utils, aqt.forms
|
import anki, aqt.forms
|
||||||
from anki.utils import fmtTimeSpan, ids2str, stripHTMLMedia, isWin, intTime, isMac
|
from anki.utils import fmtTimeSpan, ids2str, stripHTMLMedia, isWin, intTime, isMac
|
||||||
from aqt.utils import saveGeom, restoreGeom, saveSplitter, restoreSplitter, \
|
from aqt.utils import saveGeom, restoreGeom, saveSplitter, restoreSplitter, \
|
||||||
saveHeader, restoreHeader, saveState, restoreState, applyStyles, getTag, \
|
saveHeader, restoreHeader, saveState, restoreState, applyStyles, getTag, \
|
||||||
showInfo, askUser, tooltip, openHelp, showWarning, shortcut
|
showInfo, askUser, tooltip, openHelp, showWarning, shortcut
|
||||||
from anki.errors import *
|
|
||||||
from anki.db import *
|
|
||||||
from anki.hooks import runHook, addHook, remHook
|
from anki.hooks import runHook, addHook, remHook
|
||||||
from aqt.webview import AnkiWebView
|
from aqt.webview import AnkiWebView
|
||||||
from aqt.toolbar import Toolbar
|
from aqt.toolbar import Toolbar
|
||||||
|
|
|
@ -8,7 +8,7 @@ from anki.consts import *
|
||||||
import aqt
|
import aqt
|
||||||
from anki.sound import playFromText, clearAudioQueue
|
from anki.sound import playFromText, clearAudioQueue
|
||||||
from aqt.utils import saveGeom, restoreGeom, getBase, mungeQA,\
|
from aqt.utils import saveGeom, restoreGeom, getBase, mungeQA,\
|
||||||
saveSplitter, restoreSplitter, showInfo, askUser, getOnlyText, \
|
showInfo, askUser, getOnlyText, \
|
||||||
showWarning, openHelp, openLink
|
showWarning, openHelp, openLink
|
||||||
from anki.utils import isMac, isWin, joinFields
|
from anki.utils import isMac, isWin, joinFields
|
||||||
from aqt.webview import AnkiWebView
|
from aqt.webview import AnkiWebView
|
||||||
|
|
|
@ -4,9 +4,7 @@
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import aqt
|
import aqt
|
||||||
from anki.utils import ids2str, isWin, isMac
|
from aqt.utils import showInfo, showWarning
|
||||||
from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser
|
|
||||||
from operator import itemgetter
|
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
|
|
||||||
RADIO_NEW = 1
|
RADIO_NEW = 1
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from aqt.utils import askUser, getOnlyText, openLink, showWarning, showInfo, \
|
from aqt.utils import askUser, getOnlyText, openLink, showWarning, shortcut
|
||||||
shortcut
|
|
||||||
from anki.utils import isMac, ids2str, fmtTimeSpan
|
from anki.utils import isMac, ids2str, fmtTimeSpan
|
||||||
import anki.js
|
import anki.js
|
||||||
from anki.errors import DeckRenameError
|
from anki.errors import DeckRenameError
|
||||||
|
|
|
@ -3,10 +3,8 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from operator import itemgetter
|
from anki.hooks import addHook, remHook
|
||||||
from anki.hooks import addHook, remHook, runHook
|
from aqt.utils import shortcut
|
||||||
from aqt.utils import isMac, shortcut
|
|
||||||
import aqt
|
|
||||||
|
|
||||||
class DeckChooser(QHBoxLayout):
|
class DeckChooser(QHBoxLayout):
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import aqt
|
import aqt
|
||||||
from anki.utils import ids2str
|
|
||||||
from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser, \
|
from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser, \
|
||||||
tooltip
|
tooltip
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
|
|
@ -4,9 +4,7 @@
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import aqt
|
import aqt
|
||||||
from anki.utils import ids2str, isWin, isMac
|
from aqt.utils import showWarning, openHelp, askUser
|
||||||
from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser
|
|
||||||
from operator import itemgetter
|
|
||||||
|
|
||||||
class DeckConf(QDialog):
|
class DeckConf(QDialog):
|
||||||
def __init__(self, mw, first=False, search="", deck=None):
|
def __init__(self, mw, first=False, search="", deck=None):
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import re, os, sys, urllib2, ctypes, traceback
|
import re, os, urllib2, ctypes
|
||||||
from anki.utils import stripHTML, isWin, isMac, namedtmp, json
|
from anki.utils import stripHTML, isWin, isMac, namedtmp, json
|
||||||
from anki.sound import play
|
from anki.sound import play
|
||||||
from anki.hooks import runHook, runFilter
|
from anki.hooks import runHook, runFilter
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import anki, aqt, aqt.tagedit
|
import aqt
|
||||||
from aqt.utils import getSaveFile, tooltip, showWarning, askUser
|
from aqt.utils import getSaveFile, tooltip, showWarning, askUser
|
||||||
from anki.exporting import exporters
|
from anki.exporting import exporters
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import re
|
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
import aqt
|
import aqt
|
||||||
from aqt.utils import showWarning, openHelp, getOnlyText, askUser
|
from aqt.utils import showWarning, openHelp, getOnlyText, askUser
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import os, copy, time, sys, re, traceback, zipfile, json
|
import os, re, traceback, zipfile, json
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import anki
|
|
||||||
import anki.importing as importing
|
import anki.importing as importing
|
||||||
from aqt.utils import getOnlyText, getFile, showText, showWarning, openHelp,\
|
from aqt.utils import getOnlyText, getFile, showText, showWarning, openHelp,\
|
||||||
askUserDialog, askUser, tooltip
|
askUser, tooltip
|
||||||
from anki.errors import *
|
|
||||||
from anki.hooks import addHook, remHook
|
from anki.hooks import addHook, remHook
|
||||||
import aqt.forms, aqt.modelchooser, aqt.deckchooser
|
import aqt.forms, aqt.modelchooser, aqt.deckchooser
|
||||||
|
|
||||||
|
@ -61,7 +59,6 @@ class ImportDialog(QDialog):
|
||||||
self.importer = importer
|
self.importer = importer
|
||||||
self.frm = aqt.forms.importing.Ui_ImportDialog()
|
self.frm = aqt.forms.importing.Ui_ImportDialog()
|
||||||
self.frm.setupUi(self)
|
self.frm.setupUi(self)
|
||||||
from aqt.tagedit import TagEdit
|
|
||||||
self.connect(self.frm.buttonBox.button(QDialogButtonBox.Help),
|
self.connect(self.frm.buttonBox.button(QDialogButtonBox.Help),
|
||||||
SIGNAL("clicked()"), self.helpRequested)
|
SIGNAL("clicked()"), self.helpRequested)
|
||||||
self.setupMappingFrame()
|
self.setupMappingFrame()
|
||||||
|
|
16
aqt/main.py
16
aqt/main.py
|
@ -2,23 +2,19 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import os, sys, re, stat, traceback, signal
|
import os, sys, re, traceback, signal
|
||||||
import shutil, time, zipfile
|
import zipfile
|
||||||
from operator import itemgetter
|
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
QtConfig = pyqtconfig.Configuration()
|
QtConfig = pyqtconfig.Configuration()
|
||||||
|
|
||||||
from anki import Collection
|
from anki import Collection
|
||||||
from anki.utils import stripHTML, checksum, isWin, isMac, intTime, json
|
from anki.utils import isWin, isMac, intTime
|
||||||
from anki.hooks import runHook, addHook, remHook
|
from anki.hooks import runHook, addHook
|
||||||
import anki.consts
|
|
||||||
|
|
||||||
import aqt, aqt.progress, aqt.webview, aqt.toolbar, aqt.stats
|
import aqt, aqt.progress, aqt.webview, aqt.toolbar, aqt.stats
|
||||||
from aqt.utils import saveGeom, restoreGeom, showInfo, showWarning, \
|
from aqt.utils import restoreGeom, showInfo, showWarning,\
|
||||||
saveState, restoreState, getOnlyText, askUser, GetTextDialog, \
|
restoreState, getOnlyText, askUser, applyStyles, showText, tooltip, openHelp, openLink
|
||||||
askUserDialog, applyStyles, getText, showText, showCritical, getFile, \
|
|
||||||
tooltip, openHelp, openLink
|
|
||||||
|
|
||||||
class AnkiQt(QMainWindow):
|
class AnkiQt(QMainWindow):
|
||||||
def __init__(self, app, profileManager, args):
|
def __init__(self, app, profileManager, args):
|
||||||
|
|
|
@ -3,9 +3,8 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from operator import itemgetter
|
|
||||||
from anki.hooks import addHook, remHook, runHook
|
from anki.hooks import addHook, remHook, runHook
|
||||||
from aqt.utils import isMac, shortcut
|
from aqt.utils import shortcut
|
||||||
import aqt
|
import aqt
|
||||||
|
|
||||||
class ModelChooser(QHBoxLayout):
|
class ModelChooser(QHBoxLayout):
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.utils import openLink, shortcut
|
||||||
from anki.consts import NEW_CARDS_RANDOM, dynOrderLabels
|
|
||||||
from anki.hooks import addHook
|
|
||||||
from aqt.utils import showInfo, openLink, shortcut
|
|
||||||
from anki.utils import isMac
|
from anki.utils import isMac
|
||||||
import aqt
|
import aqt
|
||||||
from anki.sound import clearAudioQueue
|
from anki.sound import clearAudioQueue
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import datetime, time, os
|
import datetime, time
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from aqt.utils import openFolder, showWarning, getText, openHelp, showInfo
|
from aqt.utils import openFolder, showWarning, getText, openHelp, showInfo
|
||||||
import aqt
|
import aqt
|
||||||
|
|
|
@ -7,13 +7,12 @@
|
||||||
# - Saves in sqlite rather than a flat file so the config can't be corrupted
|
# - Saves in sqlite rather than a flat file so the config can't be corrupted
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import os, sys, time, random, cPickle, shutil, locale, re, atexit, urllib
|
import os, random, cPickle, shutil, locale, re
|
||||||
from anki.db import DB
|
from anki.db import DB
|
||||||
from anki.utils import isMac, isWin, intTime, checksum
|
from anki.utils import isMac, isWin, intTime, checksum
|
||||||
from anki.lang import langs
|
from anki.lang import langs
|
||||||
from aqt.utils import showWarning
|
from aqt.utils import showWarning
|
||||||
from aqt import appHelpSite
|
from aqt import appHelpSite
|
||||||
import anki.sync
|
|
||||||
import aqt.forms
|
import aqt.forms
|
||||||
|
|
||||||
metaConf = dict(
|
metaConf = dict(
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
# Copyright: Damien Elmes <anki@ichi2.net>
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import time, os, stat, shutil, difflib, re, cgi
|
import difflib, re, cgi
|
||||||
import unicodedata as ucd
|
import unicodedata as ucd
|
||||||
import HTMLParser
|
import HTMLParser
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from anki.utils import fmtTimeSpan, stripHTML, isMac, json
|
from anki.utils import stripHTML, isMac, json
|
||||||
from anki.hooks import addHook, runHook, runFilter
|
from anki.hooks import addHook, runHook
|
||||||
from anki.sound import playFromText, clearAudioQueue, hasSound, play
|
from anki.sound import playFromText, clearAudioQueue, play
|
||||||
from aqt.utils import mungeQA, getBase, shortcut, openLink, tooltip
|
from aqt.utils import mungeQA, getBase, openLink, tooltip
|
||||||
from aqt.sound import getAudio
|
from aqt.sound import getAudio
|
||||||
import aqt
|
import aqt
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from anki.sound import Recorder, play
|
from anki.sound import Recorder
|
||||||
from aqt.utils import saveGeom, restoreGeom
|
from aqt.utils import saveGeom, restoreGeom
|
||||||
|
|
||||||
def getAudio(parent, encode=True):
|
def getAudio(parent, encode=True):
|
||||||
|
|
|
@ -4,11 +4,7 @@
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import os, time
|
import os, time
|
||||||
from aqt.webview import AnkiWebView
|
from aqt.utils import saveGeom, restoreGeom, maybeHideClose, showInfo, addCloseShortcut
|
||||||
from aqt.utils import saveGeom, restoreGeom, maybeHideClose, openFolder, \
|
|
||||||
showInfo, addCloseShortcut
|
|
||||||
from anki.utils import namedtmp
|
|
||||||
from anki.hooks import addHook
|
|
||||||
import aqt
|
import aqt
|
||||||
|
|
||||||
# Deck Stats
|
# Deck Stats
|
||||||
|
|
|
@ -4,9 +4,7 @@
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import aqt
|
import aqt
|
||||||
from anki.utils import ids2str
|
from aqt.utils import showInfo, openHelp, getOnlyText, shortcut
|
||||||
from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, shortcut
|
|
||||||
from operator import itemgetter
|
|
||||||
from anki.hooks import addHook, remHook
|
from anki.hooks import addHook, remHook
|
||||||
|
|
||||||
class StudyDeck(QDialog):
|
class StudyDeck(QDialog):
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import os, types, socket, time, traceback, gc
|
import socket, time, traceback, gc
|
||||||
import aqt
|
import aqt
|
||||||
from anki import Collection
|
from anki import Collection
|
||||||
from anki.sync import Syncer, RemoteServer, FullSyncer, MediaSyncer, \
|
from anki.sync import Syncer, RemoteServer, FullSyncer, MediaSyncer, \
|
||||||
|
@ -346,7 +346,7 @@ class SyncThread(QThread):
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
CHUNK_SIZE = 65536
|
CHUNK_SIZE = 65536
|
||||||
import httplib, httplib2, socket, errno
|
import httplib, httplib2, errno
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from anki.hooks import runHook
|
from anki.hooks import runHook
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import re, sys
|
import re
|
||||||
|
|
||||||
class TagEdit(QLineEdit):
|
class TagEdit(QLineEdit):
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import urllib, urllib2, os, sys, time, httplib
|
import urllib, urllib2, time
|
||||||
import anki, anki.utils, anki.lang, anki.stats
|
|
||||||
import aqt
|
import aqt
|
||||||
import platform
|
import platform
|
||||||
from aqt.utils import openLink
|
from aqt.utils import openLink
|
||||||
|
|
|
@ -7,7 +7,6 @@ from aqt.qt import *
|
||||||
from anki.utils import isMac, isWin
|
from anki.utils import isMac, isWin
|
||||||
from anki import Collection
|
from anki import Collection
|
||||||
from anki.importing import Anki1Importer
|
from anki.importing import Anki1Importer
|
||||||
from anki.db import DB
|
|
||||||
from aqt.utils import showWarning
|
from aqt.utils import showWarning
|
||||||
import aqt
|
import aqt
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
import re, os, sys, urllib, time, subprocess
|
import re, os, sys, urllib, subprocess
|
||||||
import aqt
|
import aqt
|
||||||
from anki.sound import playFromText, stripSounds
|
from anki.sound import stripSounds
|
||||||
from anki.utils import call, isWin, isMac
|
from anki.utils import isWin, isMac
|
||||||
|
|
||||||
def openHelp(section):
|
def openHelp(section):
|
||||||
link = aqt.appHelpSite
|
link = aqt.appHelpSite
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import time
|
|
||||||
from anki.db import DB
|
|
||||||
from anki.consts import *
|
|
||||||
from anki.utils import hexifyID
|
|
||||||
from tests.shared import getEmptyDeck
|
from tests.shared import getEmptyDeck
|
||||||
from anki.hooks import addHook, remHook
|
|
||||||
|
|
||||||
def test_previewCards():
|
def test_previewCards():
|
||||||
deck = getEmptyDeck()
|
deck = getEmptyDeck()
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import os, re, datetime
|
import os
|
||||||
from tests.shared import assertException, getEmptyDeck, testDir, \
|
from tests.shared import assertException, getEmptyDeck
|
||||||
getUpgradeDeckPath
|
|
||||||
from anki.stdmodels import addBasicModel
|
from anki.stdmodels import addBasicModel
|
||||||
from anki.consts import *
|
|
||||||
|
|
||||||
from anki import Collection as aopen
|
from anki import Collection as aopen
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
from tests.shared import assertException, getEmptyDeck, testDir
|
from tests.shared import assertException, getEmptyDeck
|
||||||
|
|
||||||
def test_basic():
|
def test_basic():
|
||||||
deck = getEmptyDeck()
|
deck = getEmptyDeck()
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import nose, os, tempfile
|
import nose, os, tempfile
|
||||||
import anki
|
|
||||||
from anki import Collection as aopen
|
from anki import Collection as aopen
|
||||||
from anki.exporting import *
|
from anki.exporting import *
|
||||||
from anki.importing import Anki2Importer
|
from anki.importing import Anki2Importer
|
||||||
from anki.stdmodels import *
|
|
||||||
from shared import getEmptyDeck
|
from shared import getEmptyDeck
|
||||||
|
|
||||||
deck = None
|
deck = None
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import nose, os, shutil
|
import os
|
||||||
from tests.shared import assertException, getUpgradeDeckPath, getEmptyDeck
|
from tests.shared import getUpgradeDeckPath, getEmptyDeck
|
||||||
from anki.upgrade import Upgrader
|
from anki.upgrade import Upgrader
|
||||||
from anki.utils import ids2str
|
from anki.utils import ids2str
|
||||||
from anki.errors import *
|
|
||||||
from anki.importing import Anki1Importer, Anki2Importer, TextImporter, \
|
from anki.importing import Anki1Importer, Anki2Importer, TextImporter, \
|
||||||
SupermemoXmlImporter, MnemosyneImporter, AnkiPackageImporter
|
SupermemoXmlImporter, MnemosyneImporter, AnkiPackageImporter
|
||||||
from anki.notes import Note
|
|
||||||
from anki.db import *
|
|
||||||
|
|
||||||
testDir = os.path.dirname(__file__)
|
testDir = os.path.dirname(__file__)
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from tests.shared import assertException, getEmptyDeck
|
from tests.shared import getEmptyDeck
|
||||||
from anki.utils import stripHTML, intTime
|
from anki.utils import stripHTML
|
||||||
from anki.hooks import addHook
|
|
||||||
|
|
||||||
def test_latex():
|
def test_latex():
|
||||||
d = getEmptyDeck()
|
d = getEmptyDeck()
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import tempfile, os, time
|
import tempfile, os, time
|
||||||
from anki.utils import checksum
|
|
||||||
from shared import getEmptyDeck, testDir
|
from shared import getEmptyDeck, testDir
|
||||||
|
|
||||||
# copying files to media folder
|
# copying files to media folder
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
from tests.shared import getEmptyDeck, assertException
|
from tests.shared import getEmptyDeck
|
||||||
from anki.utils import stripHTML, joinFields
|
from anki.utils import stripHTML, joinFields
|
||||||
|
|
||||||
def test_modelDelete():
|
def test_modelDelete():
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import nose, os, tempfile, shutil, time
|
import nose, os, time
|
||||||
from tests.shared import assertException
|
from tests.shared import assertException
|
||||||
|
|
||||||
from anki.errors import *
|
from anki.sync import Syncer, FullSyncer, RemoteServer, \
|
||||||
from anki.utils import intTime
|
|
||||||
from anki.sync import Syncer, FullSyncer, LocalServer, RemoteServer, \
|
|
||||||
MediaSyncer, RemoteMediaServer, httpCon
|
MediaSyncer, RemoteMediaServer, httpCon
|
||||||
from anki.notes import Note
|
|
||||||
from anki.cards import Card
|
|
||||||
from tests.shared import getEmptyDeck
|
|
||||||
from anki import Collection as aopen
|
from anki import Collection as aopen
|
||||||
|
|
||||||
deck1=None
|
deck1=None
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import time, copy
|
import time, copy
|
||||||
from tests.shared import assertException, getEmptyDeck
|
from tests.shared import getEmptyDeck
|
||||||
from anki.utils import stripHTML, intTime
|
from anki.utils import intTime
|
||||||
from anki.hooks import addHook
|
from anki.hooks import addHook
|
||||||
from anki.consts import *
|
|
||||||
|
|
||||||
def test_basics():
|
def test_basics():
|
||||||
d = getEmptyDeck()
|
d = getEmptyDeck()
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import time, copy, os
|
import os
|
||||||
from tests.shared import assertException, getEmptyDeck
|
from tests.shared import getEmptyDeck
|
||||||
from anki.utils import stripHTML, intTime
|
|
||||||
from anki.hooks import addHook
|
|
||||||
|
|
||||||
def test_stats():
|
def test_stats():
|
||||||
d = getEmptyDeck()
|
d = getEmptyDeck()
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import nose, os, tempfile, shutil, time
|
import nose, os, shutil, time
|
||||||
from tests.shared import assertException
|
|
||||||
|
|
||||||
from anki.errors import *
|
|
||||||
from anki import Collection as aopen
|
from anki import Collection as aopen
|
||||||
from anki.utils import intTime
|
from anki.utils import intTime
|
||||||
from anki.sync import Syncer, FullSyncer, LocalServer, RemoteServer, \
|
from anki.sync import Syncer, LocalServer
|
||||||
MediaSyncer, RemoteMediaServer
|
|
||||||
from anki.notes import Note
|
|
||||||
from anki.cards import Card
|
|
||||||
from tests.shared import getEmptyDeck
|
from tests.shared import getEmptyDeck
|
||||||
|
|
||||||
# Local tests
|
# Local tests
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from tests.shared import assertException, getEmptyDeck
|
from tests.shared import getEmptyDeck
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
|
|
||||||
def test_op():
|
def test_op():
|
||||||
|
|
|
@ -3,10 +3,9 @@
|
||||||
import datetime, shutil
|
import datetime, shutil
|
||||||
from anki import Collection
|
from anki import Collection
|
||||||
from anki.consts import *
|
from anki.consts import *
|
||||||
from shared import getUpgradeDeckPath, getEmptyDeck, testDir
|
from shared import getUpgradeDeckPath, testDir
|
||||||
from anki.upgrade import Upgrader
|
from anki.upgrade import Upgrader
|
||||||
from anki.importing import Anki2Importer
|
from anki.utils import checksum
|
||||||
from anki.utils import ids2str, checksum
|
|
||||||
|
|
||||||
def test_check():
|
def test_check():
|
||||||
dst = getUpgradeDeckPath()
|
dst = getUpgradeDeckPath()
|
||||||
|
|
1
thirdparty/BeautifulSoup.py
vendored
1
thirdparty/BeautifulSoup.py
vendored
|
@ -86,7 +86,6 @@ __license__ = "New-style BSD"
|
||||||
from sgmllib import SGMLParser, SGMLParseError
|
from sgmllib import SGMLParser, SGMLParseError
|
||||||
import codecs
|
import codecs
|
||||||
import markupbase
|
import markupbase
|
||||||
import types
|
|
||||||
import re
|
import re
|
||||||
import sgmllib
|
import sgmllib
|
||||||
try:
|
try:
|
||||||
|
|
1
thirdparty/httplib2/socks.py
vendored
1
thirdparty/httplib2/socks.py
vendored
|
@ -43,7 +43,6 @@ mainly to merge bug fixes found in Sourceforge
|
||||||
import base64
|
import base64
|
||||||
import socket
|
import socket
|
||||||
import struct
|
import struct
|
||||||
import sys
|
|
||||||
|
|
||||||
if getattr(socket, 'socket', None) is None:
|
if getattr(socket, 'socket', None) is None:
|
||||||
raise ImportError('socket.socket missing, proxy support unusable')
|
raise ImportError('socket.socket missing, proxy support unusable')
|
||||||
|
|
Loading…
Reference in a new issue