calibre/recipes/taz.recipe
Kovid Goyal 29cd8d64ea
Change shebangs to python from python2
Also remove a few other miscellaneous references to python2
2020-08-22 18:47:51 +05:30

72 lines
2.0 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__license__ = 'GPL v3'
__copyright__ = '2010, Lars Jacob jacob.lars at gmail.com'
__docformat__ = 'restructuredtext de'
'''
www.taz.de/digiabo
'''
import os
import zipfile
from calibre.web.feeds.news import BasicNewsRecipe
from calibre.ptempfile import PersistentTemporaryFile
try:
from urllib.request import HTTPBasicAuthHandler, build_opener, install_opener, urlopen
from urllib.error import HTTPError
except ImportError:
from urllib2 import HTTPBasicAuthHandler, build_opener, install_opener, urlopen, HTTPError
class TazDigiabo(BasicNewsRecipe):
title = u'Taz Digiabo'
description = u'Das EPUB DigiAbo der Taz'
language = 'de'
lang = 'de-DE'
__author__ = 'Lars Jacob'
needs_subscription = True
conversion_options = {
'no_default_epub_cover': True
}
def build_index(self):
domain = "http://dl.taz.de"
url = domain + "/epub/"
auth_handler = HTTPBasicAuthHandler()
auth_handler.add_password(realm='TAZ-ABO',
uri=url,
user=self.username,
passwd=self.password)
opener = build_opener(auth_handler)
install_opener(opener)
try:
f = urlopen(url)
except HTTPError:
self.report_progress(0, _('Can\'t login to download issue'))
raise ValueError('Failed to login, check your username and'
' password')
tmp = PersistentTemporaryFile(suffix='.epub')
self.report_progress(0, _('downloading epub'))
tmp.write(f.read())
tmp.close()
zfile = zipfile.ZipFile(tmp.name, 'r')
self.report_progress(0, _('extracting epub'))
zfile.extractall(self.output_dir)
tmp.close()
index = os.path.join(self.output_dir, 'content.opf')
self.report_progress(1, _('epub downloaded and extracted'))
return index