Merge from trunk

This commit is contained in:
Charles Haley 2013-01-28 20:24:12 +01:00
commit 8f08137735
3 changed files with 67 additions and 21 deletions

View File

@ -0,0 +1,46 @@
__license__ = 'GPL v3'
__copyright__ = '2013, Darko Miletic <darko.miletic at gmail.com>'
'''
dobanevinosti.blogspot.com
'''
from calibre.web.feeds.news import BasicNewsRecipe
class DobaNevinosti(BasicNewsRecipe):
title = 'Doba Nevinosti'
__author__ = 'Darko Miletic'
description = 'Filmski blog'
oldest_article = 15
max_articles_per_feed = 100
language = 'sr'
encoding = 'utf-8'
no_stylesheets = True
use_embedded_content = True
publication_type = 'blog'
auto_cleanup = True
extra_css = """
@font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)}
body{font-family: "Trebuchet MS",Trebuchet,Verdana,sans1,sans-serif}
img{margin-bottom: 0.8em; display:block;}
"""
conversion_options = {
'comment' : description
, 'tags' : 'film, blog, srbija, tv'
, 'publisher': 'Dimitrije Vojinov'
, 'language' : language
}
remove_attributes = ['lang', 'border']
preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]
feeds = [(u'Tekstovi', u'http://dobanevinosti.blogspot.com/feeds/posts/default')]
def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
for item in soup.findAll('img'):
if not item.has_key('alt'):
item['alt'] = 'image'
return soup

View File

@ -4,7 +4,6 @@ __copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
scmp.com scmp.com
''' '''
import re
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
class SCMP(BasicNewsRecipe): class SCMP(BasicNewsRecipe):
@ -18,10 +17,11 @@ class SCMP(BasicNewsRecipe):
max_articles_per_feed = 200 max_articles_per_feed = 200
no_stylesheets = True no_stylesheets = True
encoding = 'utf-8' encoding = 'utf-8'
auto_cleanup = True
use_embedded_content = False use_embedded_content = False
language = 'en_CN' language = 'en_CN'
remove_empty_feeds = True remove_empty_feeds = True
needs_subscription = True needs_subscription = 'optional'
publication_type = 'newspaper' publication_type = 'newspaper'
masthead_url = 'http://www.scmp.com/images/logo_scmp_home.gif' masthead_url = 'http://www.scmp.com/images/logo_scmp_home.gif'
extra_css = ' body{font-family: Arial,Helvetica,sans-serif } ' extra_css = ' body{font-family: Arial,Helvetica,sans-serif } '
@ -46,17 +46,17 @@ class SCMP(BasicNewsRecipe):
br.submit() br.submit()
return br return br
remove_attributes=['width','height','border'] #remove_attributes=['width','height','border']
keep_only_tags = [ #keep_only_tags = [
dict(attrs={'id':['ART','photoBox']}) #dict(attrs={'id':['ART','photoBox']})
,dict(attrs={'class':['article_label','article_byline','article_body']}) #,dict(attrs={'class':['article_label','article_byline','article_body']})
] #]
preprocess_regexps = [ #preprocess_regexps = [
(re.compile(r'<P><table((?!<table).)*class="embscreen"((?!</table>).)*</table>', re.DOTALL|re.IGNORECASE), #(re.compile(r'<P><table((?!<table).)*class="embscreen"((?!</table>).)*</table>', re.DOTALL|re.IGNORECASE),
lambda match: ''), #lambda match: ''),
] #]
feeds = [ feeds = [
(u'Business' , u'http://www.scmp.com/rss/business.xml' ) (u'Business' , u'http://www.scmp.com/rss/business.xml' )
@ -68,13 +68,13 @@ class SCMP(BasicNewsRecipe):
,(u'Sport' , u'http://www.scmp.com/rss/sport.xml' ) ,(u'Sport' , u'http://www.scmp.com/rss/sport.xml' )
] ]
def print_version(self, url): #def print_version(self, url):
rpart, sep, rest = url.rpartition('&') #rpart, sep, rest = url.rpartition('&')
return rpart #+ sep + urllib.quote_plus(rest) #return rpart #+ sep + urllib.quote_plus(rest)
def preprocess_html(self, soup): #def preprocess_html(self, soup):
for item in soup.findAll(style=True): #for item in soup.findAll(style=True):
del item['style'] #del item['style']
items = soup.findAll(src="/images/label_icon.gif") #items = soup.findAll(src="/images/label_icon.gif")
[item.extract() for item in items] #[item.extract() for item in items]
return self.adeify_images(soup) #return self.adeify_images(soup)

View File

@ -422,7 +422,7 @@ class BasicNewsRecipe(Recipe):
Times recipe to login for full access:: Times recipe to login for full access::
def get_browser(self): def get_browser(self):
br = BasicNewsRecipe.get_browser() br = BasicNewsRecipe.get_browser(self)
if self.username is not None and self.password is not None: if self.username is not None and self.password is not None:
br.open('http://www.nytimes.com/auth/login') br.open('http://www.nytimes.com/auth/login')
br.select_form(name='login') br.select_form(name='login')