diff --git a/anki/anki b/anki/anki index 924a64fd3..a180ab664 100755 --- a/anki/anki +++ b/anki/anki @@ -11,5 +11,5 @@ sys.path.insert(0, os.path.join(base, "libanki")) # or git sys.path.insert(0, os.path.join(base, "..", "libanki")) # start -import anki, aqt +import aqt aqt.run() diff --git a/anki/cards.py b/anki/cards.py index 5807c66c6..7aa25978c 100644 --- a/anki/cards.py +++ b/anki/cards.py @@ -3,7 +3,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import time -from anki.utils import intTime, hexifyID, timestampID, joinFields +from anki.utils import intTime, timestampID, joinFields from anki.consts import * # temporary diff --git a/anki/collection.py b/anki/collection.py index 6d2227853..d0edcdfe5 100644 --- a/anki/collection.py +++ b/anki/collection.py @@ -2,11 +2,11 @@ # Copyright: Damien Elmes # 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.utils import ids2str, hexifyID, checksum, fieldChecksum, stripHTML, \ +from anki.utils import ids2str, fieldChecksum, stripHTML, \ intTime, splitFields, joinFields, maxID, json -from anki.hooks import runHook, runFilter +from anki.hooks import runFilter from anki.sched import Scheduler from anki.models import ModelManager from anki.media import MediaManager diff --git a/anki/db.py b/anki/db.py index 8929c3024..045bafd35 100644 --- a/anki/db.py +++ b/anki/db.py @@ -8,8 +8,6 @@ try: except ImportError: from sqlite3 import dbapi2 as sqlite -from anki.hooks import runHook - class DB(object): def __init__(self, path, text=None, timeout=0): encpath = path diff --git a/anki/exporting.py b/anki/exporting.py index 837d81fd5..0d711d146 100644 --- a/anki/exporting.py +++ b/anki/exporting.py @@ -2,11 +2,9 @@ # Copyright: Damien Elmes # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import itertools, time, re, os, HTMLParser, zipfile, shutil -from operator import itemgetter -from anki.cards import Card +import re, os, zipfile, shutil 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 import Collection diff --git a/anki/find.py b/anki/find.py index e3f4e5a5f..e4367f908 100644 --- a/anki/find.py +++ b/anki/find.py @@ -3,7 +3,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import re -from anki.utils import ids2str, splitFields, joinFields, stripHTML, intTime +from anki.utils import ids2str, splitFields, joinFields, intTime from anki.consts import * import sre_constants diff --git a/anki/importing/anki2.py b/anki/importing/anki2.py index 1564b9be9..e00320a07 100644 --- a/anki/importing/anki2.py +++ b/anki/importing/anki2.py @@ -4,8 +4,7 @@ import os from anki import Collection -from anki.utils import intTime, splitFields, joinFields, checksum, guid64, \ - incGuid +from anki.utils import intTime, splitFields, joinFields, incGuid from anki.importing.base import Importer from anki.lang import _ from anki.lang import ngettext diff --git a/anki/importing/base.py b/anki/importing/base.py index 8fd8a44a2..f30b119f4 100644 --- a/anki/importing/base.py +++ b/anki/importing/base.py @@ -2,7 +2,7 @@ # Copyright: Damien Elmes # 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 ########################################################################## diff --git a/anki/importing/csvfile.py b/anki/importing/csvfile.py index d091e94af..7b0458610 100644 --- a/anki/importing/csvfile.py +++ b/anki/importing/csvfile.py @@ -5,7 +5,6 @@ import codecs, csv, re from anki.importing.noteimp import NoteImporter, ForeignNote from anki.lang import _ -from anki.errors import * class TextImporter(NoteImporter): diff --git a/anki/importing/mnemo.py b/anki/importing/mnemo.py index 5f2d6b2de..bcc397241 100644 --- a/anki/importing/mnemo.py +++ b/anki/importing/mnemo.py @@ -4,11 +4,8 @@ import time, re from anki.db import DB -from anki.importing.base import Importer from anki.importing.noteimp import NoteImporter, ForeignNote, ForeignCard -from anki.utils import checksum, base91 from anki.stdmodels import addBasicModel -from anki.lang import _ from anki.lang import ngettext class MnemosyneImporter(NoteImporter): diff --git a/anki/importing/noteimp.py b/anki/importing/noteimp.py index 30b5448ee..3317e10ad 100644 --- a/anki/importing/noteimp.py +++ b/anki/importing/noteimp.py @@ -2,11 +2,10 @@ # Copyright: Damien Elmes # 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.utils import fieldChecksum, ids2str, guid64, timestampID, \ +from anki.utils import fieldChecksum, guid64, timestampID, \ joinFields, intTime, splitFields -from anki.errors import * from anki.importing.base import Importer from anki.lang import ngettext diff --git a/anki/importing/supermemo_xml.py b/anki/importing/supermemo_xml.py index f88d66068..4676825d1 100644 --- a/anki/importing/supermemo_xml.py +++ b/anki/importing/supermemo_xml.py @@ -8,11 +8,10 @@ from anki.stdmodels import addBasicModel from anki.importing.noteimp import NoteImporter, ForeignNote, ForeignCard from anki.lang import _ 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 string import capwords, maketrans +from string import capwords import re, unicodedata, time class SmartDict(dict): diff --git a/anki/latex.py b/anki/latex.py index 58a017dff..3d3ff917f 100644 --- a/anki/latex.py +++ b/anki/latex.py @@ -2,10 +2,9 @@ # Copyright: Damien Elmes # 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.hooks import addHook -from htmlentitydefs import entitydefs from anki.lang import _ latexCmd = ["latex", "-interaction=nonstopmode"] diff --git a/anki/media.py b/anki/media.py index 885214300..af690f2b7 100644 --- a/anki/media.py +++ b/anki/media.py @@ -2,11 +2,10 @@ # Copyright: Damien Elmes # 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 from cStringIO import StringIO -from anki.utils import checksum, intTime, namedtmp, isWin, isMac, json -from anki.lang import _ +from anki.utils import checksum, isWin, isMac, json from anki.db import DB from anki.consts import * from anki.latex import mungeQA diff --git a/anki/models.py b/anki/models.py index fca4ba855..ca8fb47cf 100644 --- a/anki/models.py +++ b/anki/models.py @@ -3,8 +3,8 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import copy, re -from anki.utils import intTime, hexifyID, joinFields, splitFields, ids2str, \ - timestampID, checksum, json +from anki.utils import intTime, joinFields, splitFields, ids2str,\ + checksum, json from anki.lang import _ from anki.consts import * from anki.hooks import runHook diff --git a/anki/notes.py b/anki/notes.py index d373d77a6..0562a5157 100644 --- a/anki/notes.py +++ b/anki/notes.py @@ -2,10 +2,8 @@ # Copyright: Damien Elmes # 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, \ - joinFields, splitFields, ids2str, stripHTML, timestampID, guid64 + joinFields, splitFields, stripHTML, timestampID, guid64 class Note(object): diff --git a/anki/sched.py b/anki/sched.py index c9f9b207f..18a463612 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -2,12 +2,12 @@ # Copyright: Damien Elmes # 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 heapq import * #from anki.cards import Card from anki.utils import ids2str, intTime, fmtTimeSpan -from anki.lang import _, ngettext +from anki.lang import _ from anki.consts import * from anki.hooks import runHook diff --git a/anki/sound.py b/anki/sound.py index 690844657..310ed4ec4 100644 --- a/anki/sound.py +++ b/anki/sound.py @@ -2,10 +2,10 @@ # Copyright: Damien Elmes # 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 shutil, random -from anki.hooks import addHook, runHook -from anki.utils import namedtmp, tmpdir, isWin, isMac +import re, sys, threading, time, subprocess, os, atexit +import random +from anki.hooks import addHook +from anki.utils import tmpdir, isWin, isMac # Shared utils ########################################################################## diff --git a/anki/stats.py b/anki/stats.py index ada18bbd8..313840318 100644 --- a/anki/stats.py +++ b/anki/stats.py @@ -2,12 +2,10 @@ # Copyright: Damien Elmes # 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 -from anki.utils import fmtTimeSpan, fmtFloat, ids2str -from anki.consts import * +from anki.utils import fmtTimeSpan, ids2str from anki.lang import _, ngettext -from anki.hooks import runFilter # Card stats ########################################################################## diff --git a/anki/storage.py b/anki/storage.py index eb87f7cdd..bd2d9a1b7 100644 --- a/anki/storage.py +++ b/anki/storage.py @@ -4,7 +4,7 @@ import os, copy, re from anki.lang import _ -from anki.utils import intTime, ids2str, json +from anki.utils import intTime, json from anki.db import DB from anki.collection import _Collection from anki.consts import * diff --git a/anki/sync.py b/anki/sync.py index eb05874f9..dd63cb0fe 100644 --- a/anki/sync.py +++ b/anki/sync.py @@ -4,12 +4,9 @@ import urllib, os, sys, httplib2, gzip from cStringIO import StringIO -from datetime import date from anki.db import DB -from anki.errors import * -from anki.utils import ids2str, checksum, intTime, json, isWin, isMac +from anki.utils import ids2str, intTime, json, isWin, isMac from anki.consts import * -from anki.lang import _ from hooks import runHook # syncing vars @@ -73,8 +70,6 @@ _setupProxy() # Incremental syncing ########################################################################## -from anki.consts import * - class Syncer(object): def __init__(self, col, server=None): diff --git a/anki/template/hint.py b/anki/template/hint.py index 586975217..96d76fba6 100644 --- a/anki/template/hint.py +++ b/anki/template/hint.py @@ -2,7 +2,6 @@ # Copyright: Damien Elmes # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import re from anki.hooks import addHook from anki.lang import _ diff --git a/anki/template/template.py b/anki/template/template.py index 5e898773f..75558f2e2 100644 --- a/anki/template/template.py +++ b/anki/template/template.py @@ -1,11 +1,8 @@ import re -import cgi -import collections from anki.utils import stripHTML from anki.hooks import runFilter from anki.template import furigana; furigana.install() from anki.template import hint; hint.install() -from anki.lang import _ clozeReg = r"\{\{c%s::(.*?)(::(.*?))?\}\}" diff --git a/anki/upgrade.py b/anki/upgrade.py index 95ce78aab..0c71e2d71 100644 --- a/anki/upgrade.py +++ b/anki/upgrade.py @@ -2,8 +2,7 @@ # Copyright: Damien Elmes # License: GNU AGPL, version 3 or later; http://www.gnu.org/copyleft/agpl.html -import os, time, re, datetime, shutil -from anki.lang import _ +import time, re, datetime, shutil from anki.utils import intTime, tmpfile, ids2str, splitFields, base91, json from anki.db import DB from anki.collection import _Collection diff --git a/anki/utils.py b/anki/utils.py index 4d1c70d22..94d2920b0 100644 --- a/anki/utils.py +++ b/anki/utils.py @@ -2,11 +2,10 @@ # Copyright: Damien Elmes # 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 from hashlib import sha1 from anki.lang import _, ngettext -from anki.consts import * if sys.version_info[1] < 5: def format_string(a, b): diff --git a/aqt/__init__.py b/aqt/__init__.py index c7eec9a0b..8ec695870 100644 --- a/aqt/__init__.py +++ b/aqt/__init__.py @@ -172,7 +172,7 @@ def parseArgs(argv): def run(): 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 if isMac and getattr(sys, 'frozen', None): diff --git a/aqt/addcards.py b/aqt/addcards.py index 8ee4ec5c7..48b618875 100644 --- a/aqt/addcards.py +++ b/aqt/addcards.py @@ -3,16 +3,12 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -import sys, re import aqt.forms -import anki -from anki.errors import * -from anki.utils import stripHTML from aqt.utils import saveGeom, restoreGeom, showWarning, askUser, shortcut, \ tooltip, openHelp, addCloseShortcut from anki.sound import clearAudioQueue from anki.hooks import addHook, remHook -from anki.utils import stripHTMLMedia, isMac +from anki.utils import stripHTMLMedia import aqt.editor, aqt.modelchooser, aqt.deckchooser class AddCards(QDialog): diff --git a/aqt/addons.py b/aqt/addons.py index 470b2ca3f..f7941c5ec 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -2,18 +2,14 @@ # -*- coding: utf-8 -*- # 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 aqt.qt import * -from aqt.utils import showInfo, showWarning, openFolder, isWin, openLink, \ +from aqt.utils import showInfo, openFolder, isWin, openLink, \ askUser -from anki.hooks import runHook, addHook, remHook -from aqt.webview import AnkiWebView from zipfile import ZipFile import aqt.forms import aqt -from anki.sync import httpCon -import aqt.sync # monkey-patches httplib2 from aqt.downloader import download # in the future, it would be nice to save the addon id and unzippped file list diff --git a/aqt/browser.py b/aqt/browser.py index 55796dedd..a5bceb3f7 100644 --- a/aqt/browser.py +++ b/aqt/browser.py @@ -4,15 +4,13 @@ import sre_constants, cgi from aqt.qt import * -import time, types, sys, re -from operator import attrgetter, itemgetter -import anki, anki.utils, aqt.forms +import time, re +from operator import itemgetter +import anki, aqt.forms from anki.utils import fmtTimeSpan, ids2str, stripHTMLMedia, isWin, intTime, isMac from aqt.utils import saveGeom, restoreGeom, saveSplitter, restoreSplitter, \ saveHeader, restoreHeader, saveState, restoreState, applyStyles, getTag, \ showInfo, askUser, tooltip, openHelp, showWarning, shortcut -from anki.errors import * -from anki.db import * from anki.hooks import runHook, addHook, remHook from aqt.webview import AnkiWebView from aqt.toolbar import Toolbar diff --git a/aqt/clayout.py b/aqt/clayout.py index 545af89ff..42df92084 100644 --- a/aqt/clayout.py +++ b/aqt/clayout.py @@ -7,8 +7,8 @@ import re from anki.consts import * import aqt from anki.sound import playFromText, clearAudioQueue -from aqt.utils import saveGeom, restoreGeom, getBase, mungeQA, \ - saveSplitter, restoreSplitter, showInfo, askUser, getOnlyText, \ +from aqt.utils import saveGeom, restoreGeom, getBase, mungeQA,\ + showInfo, askUser, getOnlyText, \ showWarning, openHelp, openLink from anki.utils import isMac, isWin, joinFields from aqt.webview import AnkiWebView diff --git a/aqt/customstudy.py b/aqt/customstudy.py index 14696450b..e3d675685 100644 --- a/aqt/customstudy.py +++ b/aqt/customstudy.py @@ -4,9 +4,7 @@ from aqt.qt import * import aqt -from anki.utils import ids2str, isWin, isMac -from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser -from operator import itemgetter +from aqt.utils import showInfo, showWarning from anki.consts import * RADIO_NEW = 1 diff --git a/aqt/deckbrowser.py b/aqt/deckbrowser.py index 756be947e..487ed9dca 100644 --- a/aqt/deckbrowser.py +++ b/aqt/deckbrowser.py @@ -3,8 +3,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -from aqt.utils import askUser, getOnlyText, openLink, showWarning, showInfo, \ - shortcut +from aqt.utils import askUser, getOnlyText, openLink, showWarning, shortcut from anki.utils import isMac, ids2str, fmtTimeSpan import anki.js from anki.errors import DeckRenameError diff --git a/aqt/deckchooser.py b/aqt/deckchooser.py index 9d311d5d6..e569079c7 100644 --- a/aqt/deckchooser.py +++ b/aqt/deckchooser.py @@ -3,10 +3,8 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -from operator import itemgetter -from anki.hooks import addHook, remHook, runHook -from aqt.utils import isMac, shortcut -import aqt +from anki.hooks import addHook, remHook +from aqt.utils import shortcut class DeckChooser(QHBoxLayout): diff --git a/aqt/deckconf.py b/aqt/deckconf.py index fbd0dce04..3229c3199 100644 --- a/aqt/deckconf.py +++ b/aqt/deckconf.py @@ -4,7 +4,6 @@ from aqt.qt import * import aqt -from anki.utils import ids2str from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser, \ tooltip from operator import itemgetter diff --git a/aqt/dyndeckconf.py b/aqt/dyndeckconf.py index 9f2b52258..1f3f0f838 100644 --- a/aqt/dyndeckconf.py +++ b/aqt/dyndeckconf.py @@ -4,9 +4,7 @@ from aqt.qt import * import aqt -from anki.utils import ids2str, isWin, isMac -from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, askUser -from operator import itemgetter +from aqt.utils import showWarning, openHelp, askUser class DeckConf(QDialog): def __init__(self, mw, first=False, search="", deck=None): diff --git a/aqt/editor.py b/aqt/editor.py index d3cfaf114..9bcc4fc83 100644 --- a/aqt/editor.py +++ b/aqt/editor.py @@ -3,7 +3,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html 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.sound import play from anki.hooks import runHook, runFilter diff --git a/aqt/exporting.py b/aqt/exporting.py index 28fef7c7e..bcdf3010d 100644 --- a/aqt/exporting.py +++ b/aqt/exporting.py @@ -3,7 +3,7 @@ import os from aqt.qt import * -import anki, aqt, aqt.tagedit +import aqt from aqt.utils import getSaveFile, tooltip, showWarning, askUser from anki.exporting import exporters diff --git a/aqt/fields.py b/aqt/fields.py index 71293cb75..b43d25dc8 100644 --- a/aqt/fields.py +++ b/aqt/fields.py @@ -2,7 +2,6 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -import re from anki.consts import * import aqt from aqt.utils import showWarning, openHelp, getOnlyText, askUser diff --git a/aqt/importing.py b/aqt/importing.py index 4336fbfc2..44ae706a2 100644 --- a/aqt/importing.py +++ b/aqt/importing.py @@ -1,13 +1,11 @@ # Copyright: Damien Elmes # 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 * -import anki import anki.importing as importing -from aqt.utils import getOnlyText, getFile, showText, showWarning, openHelp, \ - askUserDialog, askUser, tooltip -from anki.errors import * +from aqt.utils import getOnlyText, getFile, showText, showWarning, openHelp,\ + askUser, tooltip from anki.hooks import addHook, remHook import aqt.forms, aqt.modelchooser, aqt.deckchooser @@ -61,7 +59,6 @@ class ImportDialog(QDialog): self.importer = importer self.frm = aqt.forms.importing.Ui_ImportDialog() self.frm.setupUi(self) - from aqt.tagedit import TagEdit self.connect(self.frm.buttonBox.button(QDialogButtonBox.Help), SIGNAL("clicked()"), self.helpRequested) self.setupMappingFrame() diff --git a/aqt/main.py b/aqt/main.py index 254514c1d..258f0bafc 100644 --- a/aqt/main.py +++ b/aqt/main.py @@ -2,23 +2,19 @@ # -*- coding: utf-8 -*- # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import os, sys, re, stat, traceback, signal -import shutil, time, zipfile -from operator import itemgetter +import os, sys, re, traceback, signal +import zipfile from aqt.qt import * QtConfig = pyqtconfig.Configuration() from anki import Collection -from anki.utils import stripHTML, checksum, isWin, isMac, intTime, json -from anki.hooks import runHook, addHook, remHook -import anki.consts +from anki.utils import isWin, isMac, intTime +from anki.hooks import runHook, addHook import aqt, aqt.progress, aqt.webview, aqt.toolbar, aqt.stats -from aqt.utils import saveGeom, restoreGeom, showInfo, showWarning, \ - saveState, restoreState, getOnlyText, askUser, GetTextDialog, \ - askUserDialog, applyStyles, getText, showText, showCritical, getFile, \ - tooltip, openHelp, openLink +from aqt.utils import restoreGeom, showInfo, showWarning,\ + restoreState, getOnlyText, askUser, applyStyles, showText, tooltip, openHelp, openLink class AnkiQt(QMainWindow): def __init__(self, app, profileManager, args): diff --git a/aqt/modelchooser.py b/aqt/modelchooser.py index e53c491d4..9d9283466 100644 --- a/aqt/modelchooser.py +++ b/aqt/modelchooser.py @@ -3,9 +3,8 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -from operator import itemgetter from anki.hooks import addHook, remHook, runHook -from aqt.utils import isMac, shortcut +from aqt.utils import shortcut import aqt class ModelChooser(QHBoxLayout): diff --git a/aqt/overview.py b/aqt/overview.py index 2189ca9ab..31df2efa9 100644 --- a/aqt/overview.py +++ b/aqt/overview.py @@ -2,10 +2,7 @@ # Copyright: Damien Elmes # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -from aqt.qt import * -from anki.consts import NEW_CARDS_RANDOM, dynOrderLabels -from anki.hooks import addHook -from aqt.utils import showInfo, openLink, shortcut +from aqt.utils import openLink, shortcut from anki.utils import isMac import aqt from anki.sound import clearAudioQueue diff --git a/aqt/preferences.py b/aqt/preferences.py index 5de43f0e8..40cd44005 100644 --- a/aqt/preferences.py +++ b/aqt/preferences.py @@ -2,7 +2,7 @@ # Copyright: Damien Elmes # 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.utils import openFolder, showWarning, getText, openHelp, showInfo import aqt diff --git a/aqt/profiles.py b/aqt/profiles.py index 9b60216c0..c7d09fbbe 100644 --- a/aqt/profiles.py +++ b/aqt/profiles.py @@ -7,13 +7,12 @@ # - Saves in sqlite rather than a flat file so the config can't be corrupted 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.utils import isMac, isWin, intTime, checksum from anki.lang import langs from aqt.utils import showWarning from aqt import appHelpSite -import anki.sync import aqt.forms metaConf = dict( diff --git a/aqt/reviewer.py b/aqt/reviewer.py index af9acf135..fb38c0e8c 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -2,14 +2,14 @@ # Copyright: Damien Elmes # 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 HTMLParser from aqt.qt import * -from anki.utils import fmtTimeSpan, stripHTML, isMac, json -from anki.hooks import addHook, runHook, runFilter -from anki.sound import playFromText, clearAudioQueue, hasSound, play -from aqt.utils import mungeQA, getBase, shortcut, openLink, tooltip +from anki.utils import stripHTML, isMac, json +from anki.hooks import addHook, runHook +from anki.sound import playFromText, clearAudioQueue, play +from aqt.utils import mungeQA, getBase, openLink, tooltip from aqt.sound import getAudio import aqt diff --git a/aqt/sound.py b/aqt/sound.py index e8ee0c213..ffd23853b 100644 --- a/aqt/sound.py +++ b/aqt/sound.py @@ -4,7 +4,7 @@ from aqt.qt import * import time -from anki.sound import Recorder, play +from anki.sound import Recorder from aqt.utils import saveGeom, restoreGeom def getAudio(parent, encode=True): diff --git a/aqt/stats.py b/aqt/stats.py index 77b21ecd6..f10d70d5a 100644 --- a/aqt/stats.py +++ b/aqt/stats.py @@ -4,11 +4,7 @@ from aqt.qt import * import os, time -from aqt.webview import AnkiWebView -from aqt.utils import saveGeom, restoreGeom, maybeHideClose, openFolder, \ - showInfo, addCloseShortcut -from anki.utils import namedtmp -from anki.hooks import addHook +from aqt.utils import saveGeom, restoreGeom, maybeHideClose, showInfo, addCloseShortcut import aqt # Deck Stats diff --git a/aqt/studydeck.py b/aqt/studydeck.py index d8e7607f5..7471f9099 100644 --- a/aqt/studydeck.py +++ b/aqt/studydeck.py @@ -4,9 +4,7 @@ from aqt.qt import * import aqt -from anki.utils import ids2str -from aqt.utils import showInfo, showWarning, openHelp, getOnlyText, shortcut -from operator import itemgetter +from aqt.utils import showInfo, openHelp, getOnlyText, shortcut from anki.hooks import addHook, remHook class StudyDeck(QDialog): diff --git a/aqt/sync.py b/aqt/sync.py index fbb8810ac..8be8ae49a 100644 --- a/aqt/sync.py +++ b/aqt/sync.py @@ -2,7 +2,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -import os, types, socket, time, traceback, gc +import socket, time, traceback, gc import aqt from anki import Collection from anki.sync import Syncer, RemoteServer, FullSyncer, MediaSyncer, \ @@ -346,7 +346,7 @@ class SyncThread(QThread): ###################################################################### CHUNK_SIZE = 65536 -import httplib, httplib2, socket, errno +import httplib, httplib2, errno from cStringIO import StringIO from anki.hooks import runHook diff --git a/aqt/tagedit.py b/aqt/tagedit.py index 66b46d121..0744a8cf4 100644 --- a/aqt/tagedit.py +++ b/aqt/tagedit.py @@ -2,7 +2,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -import re, sys +import re class TagEdit(QLineEdit): diff --git a/aqt/update.py b/aqt/update.py index 6e16fc710..7593124f5 100644 --- a/aqt/update.py +++ b/aqt/update.py @@ -2,8 +2,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -import urllib, urllib2, os, sys, time, httplib -import anki, anki.utils, anki.lang, anki.stats +import urllib, urllib2, time import aqt import platform from aqt.utils import openLink diff --git a/aqt/upgrade.py b/aqt/upgrade.py index 1e115cb49..1b904ede4 100644 --- a/aqt/upgrade.py +++ b/aqt/upgrade.py @@ -7,7 +7,6 @@ from aqt.qt import * from anki.utils import isMac, isWin from anki import Collection from anki.importing import Anki1Importer -from anki.db import DB from aqt.utils import showWarning import aqt diff --git a/aqt/utils.py b/aqt/utils.py index a5249cc0d..18907b2b8 100644 --- a/aqt/utils.py +++ b/aqt/utils.py @@ -2,10 +2,10 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from aqt.qt import * -import re, os, sys, urllib, time, subprocess +import re, os, sys, urllib, subprocess import aqt -from anki.sound import playFromText, stripSounds -from anki.utils import call, isWin, isMac +from anki.sound import stripSounds +from anki.utils import isWin, isMac def openHelp(section): link = aqt.appHelpSite diff --git a/tests/test_cards.py b/tests/test_cards.py index 7d136f09d..23d56d641 100644 --- a/tests/test_cards.py +++ b/tests/test_cards.py @@ -1,11 +1,6 @@ # 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 anki.hooks import addHook, remHook def test_previewCards(): deck = getEmptyDeck() diff --git a/tests/test_collection.py b/tests/test_collection.py index e6d57af88..578b3fdd2 100644 --- a/tests/test_collection.py +++ b/tests/test_collection.py @@ -1,10 +1,8 @@ # coding: utf-8 -import os, re, datetime -from tests.shared import assertException, getEmptyDeck, testDir, \ - getUpgradeDeckPath +import os +from tests.shared import assertException, getEmptyDeck from anki.stdmodels import addBasicModel -from anki.consts import * from anki import Collection as aopen diff --git a/tests/test_decks.py b/tests/test_decks.py index dfdae55d8..6f4d91dc6 100644 --- a/tests/test_decks.py +++ b/tests/test_decks.py @@ -1,6 +1,6 @@ # coding: utf-8 -from tests.shared import assertException, getEmptyDeck, testDir +from tests.shared import assertException, getEmptyDeck def test_basic(): deck = getEmptyDeck() diff --git a/tests/test_exporting.py b/tests/test_exporting.py index ec79771e5..1e6d6b3fb 100644 --- a/tests/test_exporting.py +++ b/tests/test_exporting.py @@ -1,11 +1,9 @@ # coding: utf-8 import nose, os, tempfile -import anki from anki import Collection as aopen from anki.exporting import * from anki.importing import Anki2Importer -from anki.stdmodels import * from shared import getEmptyDeck deck = None diff --git a/tests/test_importing.py b/tests/test_importing.py index cae350ce4..74412df4d 100644 --- a/tests/test_importing.py +++ b/tests/test_importing.py @@ -1,14 +1,11 @@ # coding: utf-8 -import nose, os, shutil -from tests.shared import assertException, getUpgradeDeckPath, getEmptyDeck +import os +from tests.shared import getUpgradeDeckPath, getEmptyDeck from anki.upgrade import Upgrader from anki.utils import ids2str -from anki.errors import * from anki.importing import Anki1Importer, Anki2Importer, TextImporter, \ SupermemoXmlImporter, MnemosyneImporter, AnkiPackageImporter -from anki.notes import Note -from anki.db import * testDir = os.path.dirname(__file__) diff --git a/tests/test_latex.py b/tests/test_latex.py index 1ce6c425c..40c4c40e0 100644 --- a/tests/test_latex.py +++ b/tests/test_latex.py @@ -1,9 +1,8 @@ # coding: utf-8 import os -from tests.shared import assertException, getEmptyDeck -from anki.utils import stripHTML, intTime -from anki.hooks import addHook +from tests.shared import getEmptyDeck +from anki.utils import stripHTML def test_latex(): d = getEmptyDeck() diff --git a/tests/test_media.py b/tests/test_media.py index 735482757..308ddd297 100644 --- a/tests/test_media.py +++ b/tests/test_media.py @@ -1,7 +1,6 @@ # coding: utf-8 import tempfile, os, time -from anki.utils import checksum from shared import getEmptyDeck, testDir # copying files to media folder diff --git a/tests/test_models.py b/tests/test_models.py index 920d06d2e..2d4d3d493 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,6 +1,6 @@ # coding: utf-8 -from tests.shared import getEmptyDeck, assertException +from tests.shared import getEmptyDeck from anki.utils import stripHTML, joinFields def test_modelDelete(): diff --git a/tests/test_remote_sync.py b/tests/test_remote_sync.py index b15f2ee3a..c56ec2aa6 100644 --- a/tests/test_remote_sync.py +++ b/tests/test_remote_sync.py @@ -1,15 +1,10 @@ # coding: utf-8 -import nose, os, tempfile, shutil, time +import nose, os, time from tests.shared import assertException -from anki.errors import * -from anki.utils import intTime -from anki.sync import Syncer, FullSyncer, LocalServer, RemoteServer, \ +from anki.sync import Syncer, FullSyncer, RemoteServer, \ MediaSyncer, RemoteMediaServer, httpCon -from anki.notes import Note -from anki.cards import Card -from tests.shared import getEmptyDeck from anki import Collection as aopen deck1=None diff --git a/tests/test_sched.py b/tests/test_sched.py index 9dfd4ebbd..921a7fca0 100644 --- a/tests/test_sched.py +++ b/tests/test_sched.py @@ -1,10 +1,9 @@ # coding: utf-8 import time, copy -from tests.shared import assertException, getEmptyDeck -from anki.utils import stripHTML, intTime +from tests.shared import getEmptyDeck +from anki.utils import intTime from anki.hooks import addHook -from anki.consts import * def test_basics(): d = getEmptyDeck() diff --git a/tests/test_stats.py b/tests/test_stats.py index 4811fa85a..b043c2d3b 100644 --- a/tests/test_stats.py +++ b/tests/test_stats.py @@ -1,9 +1,7 @@ # coding: utf-8 -import time, copy, os -from tests.shared import assertException, getEmptyDeck -from anki.utils import stripHTML, intTime -from anki.hooks import addHook +import os +from tests.shared import getEmptyDeck def test_stats(): d = getEmptyDeck() diff --git a/tests/test_sync.py b/tests/test_sync.py index 38c0c2880..5467d5779 100644 --- a/tests/test_sync.py +++ b/tests/test_sync.py @@ -1,15 +1,10 @@ # coding: utf-8 -import nose, os, tempfile, shutil, time -from tests.shared import assertException +import nose, os, shutil, time -from anki.errors import * from anki import Collection as aopen from anki.utils import intTime -from anki.sync import Syncer, FullSyncer, LocalServer, RemoteServer, \ - MediaSyncer, RemoteMediaServer -from anki.notes import Note -from anki.cards import Card +from anki.sync import Syncer, LocalServer from tests.shared import getEmptyDeck # Local tests diff --git a/tests/test_undo.py b/tests/test_undo.py index abd91909b..b2d1d25a0 100644 --- a/tests/test_undo.py +++ b/tests/test_undo.py @@ -1,7 +1,7 @@ # coding: utf-8 import time -from tests.shared import assertException, getEmptyDeck +from tests.shared import getEmptyDeck from anki.consts import * def test_op(): diff --git a/tests/test_upgrade.py b/tests/test_upgrade.py index 0a7f58e1c..00d9bbb6f 100644 --- a/tests/test_upgrade.py +++ b/tests/test_upgrade.py @@ -3,10 +3,9 @@ import datetime, shutil from anki import Collection from anki.consts import * -from shared import getUpgradeDeckPath, getEmptyDeck, testDir +from shared import getUpgradeDeckPath, testDir from anki.upgrade import Upgrader -from anki.importing import Anki2Importer -from anki.utils import ids2str, checksum +from anki.utils import checksum def test_check(): dst = getUpgradeDeckPath() diff --git a/thirdparty/BeautifulSoup.py b/thirdparty/BeautifulSoup.py index 7278215ca..39f29489c 100644 --- a/thirdparty/BeautifulSoup.py +++ b/thirdparty/BeautifulSoup.py @@ -86,7 +86,6 @@ __license__ = "New-style BSD" from sgmllib import SGMLParser, SGMLParseError import codecs import markupbase -import types import re import sgmllib try: diff --git a/thirdparty/httplib2/socks.py b/thirdparty/httplib2/socks.py index 0991f4cf6..d21a5e2b9 100644 --- a/thirdparty/httplib2/socks.py +++ b/thirdparty/httplib2/socks.py @@ -43,7 +43,6 @@ mainly to merge bug fixes found in Sourceforge import base64 import socket import struct -import sys if getattr(socket, 'socket', None) is None: raise ImportError('socket.socket missing, proxy support unusable')