mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
from calibre.web.feeds.news import BasicNewsRecipe
|
|
from calibre.utils.ipc.simple_worker import fork_job
|
|
from calibre.ptempfile import PersistentTemporaryFile
|
|
|
|
js_fetcher = '''
|
|
|
|
import calibre.web.jsbrowser.browser as jsbrowser
|
|
|
|
def grab(url):
|
|
browser = jsbrowser.Browser()
|
|
#10 second timeout
|
|
browser.visit(url, 10)
|
|
browser.run_for_a_time(10)
|
|
html = browser.html
|
|
browser.close()
|
|
return html
|
|
|
|
'''
|
|
|
|
|
|
class MarketingSensoriale(BasicNewsRecipe):
|
|
|
|
title = u'Marketing sensoriale'
|
|
__author__ = 'NotTaken'
|
|
description = 'Marketing Sensoriale, il Blog'
|
|
category = 'Blog'
|
|
oldest_article = 7
|
|
max_articles_per_feed = 200
|
|
no_stylesheets = True
|
|
encoding = 'utf8'
|
|
use_embedded_content = False
|
|
language = 'it'
|
|
remove_empty_feeds = True
|
|
recursions = 0
|
|
requires_version = (0, 8, 58)
|
|
auto_cleanup = False
|
|
simultaneous_downloads = 1
|
|
articles_are_obfuscated = True
|
|
|
|
remove_tags_after = [dict(name='div', attrs={'class': ['article-footer']})]
|
|
|
|
def get_article_url(self, article):
|
|
return article.get('feedburner_origlink', None)
|
|
|
|
def get_obfuscated_article(self, url):
|
|
result = fork_job(js_fetcher, 'grab', (url,),
|
|
module_is_source_code=True)
|
|
|
|
html = result['result']
|
|
if isinstance(html, type(u'')):
|
|
html = html.encode('utf-8')
|
|
pt = PersistentTemporaryFile('.html')
|
|
pt.write(html)
|
|
pt.close()
|
|
return pt.name
|
|
|
|
feeds = [(u'Marketing sensoriale',
|
|
u'http://feeds.feedburner.com/MarketingSensoriale?format=xml')]
|