mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
66 lines
1.8 KiB
Python
66 lines
1.8 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, urllib2, zipfile
|
|
from calibre.web.feeds.news import BasicNewsRecipe
|
|
from calibre.ptempfile import PersistentTemporaryFile
|
|
|
|
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 = 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'))
|
|
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
|
|
|