mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 22:42:25 -04:00
abort download missing media early; remove obsolete forceMediaDir
This commit is contained in:
parent
e5d9697d28
commit
1bbffec0d6
2 changed files with 7 additions and 13 deletions
|
@ -152,7 +152,6 @@ class Deck(object):
|
||||||
|
|
||||||
def _initVars(self):
|
def _initVars(self):
|
||||||
self.tmpMediaDir = None
|
self.tmpMediaDir = None
|
||||||
self.forceMediaDir = None
|
|
||||||
self.lastTags = u""
|
self.lastTags = u""
|
||||||
self.lastLoaded = time.time()
|
self.lastLoaded = time.time()
|
||||||
self.undoEnabled = False
|
self.undoEnabled = False
|
||||||
|
@ -2998,11 +2997,7 @@ where key = :key""", key=key, value=value):
|
||||||
def mediaDir(self, create=False):
|
def mediaDir(self, create=False):
|
||||||
"Return the media directory if exists. None if couldn't create."
|
"Return the media directory if exists. None if couldn't create."
|
||||||
if self.path:
|
if self.path:
|
||||||
# file-backed
|
dir = re.sub("(?i)\.(anki)$", ".media", self.path)
|
||||||
if self.forceMediaDir:
|
|
||||||
dir = self.forceMediaDir
|
|
||||||
else:
|
|
||||||
dir = re.sub("(?i)\.(anki)$", ".media", self.path)
|
|
||||||
if create == None:
|
if create == None:
|
||||||
# don't create, but return dir
|
# don't create, but return dir
|
||||||
return dir
|
return dir
|
||||||
|
|
|
@ -245,7 +245,6 @@ def downloadMissing(deck):
|
||||||
if not urls:
|
if not urls:
|
||||||
return None
|
return None
|
||||||
mdir = deck.mediaDir(create=True)
|
mdir = deck.mediaDir(create=True)
|
||||||
os.chdir(mdir)
|
|
||||||
deck.startProgress()
|
deck.startProgress()
|
||||||
missing = {}
|
missing = {}
|
||||||
for (id, fid, val, mid) in deck.s.all("""
|
for (id, fid, val, mid) in deck.s.all("""
|
||||||
|
@ -256,20 +255,20 @@ where facts.id = fields.factId"""):
|
||||||
for (full, fname, repl) in mediaRefs(val):
|
for (full, fname, repl) in mediaRefs(val):
|
||||||
if not os.path.exists(os.path.join(mdir, fname)) and mid in urls:
|
if not os.path.exists(os.path.join(mdir, fname)) and mid in urls:
|
||||||
missing[fname] = mid
|
missing[fname] = mid
|
||||||
success = 0
|
|
||||||
for c, file in enumerate(missing.keys()):
|
for c, file in enumerate(missing.keys()):
|
||||||
deck.updateProgress(label=_("Downloading %(a)d of %(b)d...") % {
|
deck.updateProgress(label=_("Downloading %(a)d of %(b)d...") % {
|
||||||
'a': c,
|
'a': c,
|
||||||
'b': len(missing),
|
'b': len(missing),
|
||||||
})
|
})
|
||||||
try:
|
try:
|
||||||
data = urllib2.urlopen(urls[missing[file]] + file).read()
|
path = urls[missing[file]] + file
|
||||||
open(file, "wb").write(data)
|
url = urllib2.urlopen(path)
|
||||||
success += 1
|
open(file, "wb").write(url.read())
|
||||||
except:
|
except:
|
||||||
pass
|
deck.finishProgress()
|
||||||
|
return (False, path)
|
||||||
deck.finishProgress()
|
deck.finishProgress()
|
||||||
return len(missing), success
|
return (True, len(missing))
|
||||||
|
|
||||||
# Export original files
|
# Export original files
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
Loading…
Reference in a new issue