def download_and_import(self, repo):
try:
response = urllib2.urlopen(GITHUB_LINK.format(repo))
response_sio = StringIO.StringIO(response.read())
with zipfile.ZipFile(response_sio) as repo_zip:
repo_zip.extractall(tempfile.tempdir)
deck_base_name = repo.split("/")[-1]
deck_directory_wb = Path(tempfile.tempdir).joinpath(deck_base_name + "-" + BRANCH_NAME)
deck_directory = Path(tempfile.tempdir).joinpath(deck_base_name)
utils.fs_remove(deck_directory)
deck_directory_wb.rename(deck_directory)
# Todo progressbar on download
AnkiJsonImporter.import_deck(self.collection, deck_directory)
except (urllib2.URLError, urllib2.HTTPError, OSError) as error:
aqt.utils.showWarning("Error while trying to get deck from Github: {}".format(error))
raise
评论列表
文章目录