diff --git a/resources/recipes/taz.recipe b/resources/recipes/taz.recipe new file mode 100644 index 0000000000..530fa7d6b7 --- /dev/null +++ b/resources/recipes/taz.recipe @@ -0,0 +1,62 @@ +#!/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, urllib2, zipfile, tempfile +from calibre.web.feeds.news import BasicNewsRecipe + +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): + if self.username is not None and self.password is not None: + domain = "http://www.taz.de" + + url = domain + "/epub/" + + auth_handler = urllib2.HTTPBasicAuthHandler() + auth_handler.add_password(realm='TAZ-ABO', + uri=url, + user=self.username, + passwd=self.password) + opener = urllib2.build_opener(auth_handler) + urllib2.install_opener(opener) + + try: + f = urllib2.urlopen(url) + except urllib2.HTTPError: + self.report_progress(0,_('Can\'t login to download issue')) + return + + tmp = tempfile.TemporaryFile() + self.report_progress(0,_('downloading epub')) + tmp.write(f.read()) + + zfile = zipfile.ZipFile(tmp, '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