2
# -*- coding: cp1252 -*-
5
__copyright__ = '2009, Darko Miletic <darko.miletic at gmail.com>'
10
from calibre.web.feeds.news import BasicNewsRecipe
12
class Honoluluadvertiser(BasicNewsRecipe):
13
title = 'Honolulu Advertiser'
14
__author__ = 'Darko Miletic and Sujata Raman'
15
description = "Latest national and local Hawaii sports news from The Honolulu Advertiser."
16
publisher = 'Honolulu Advertiser'
17
category = 'news, Honolulu, Hawaii'
21
max_articles_per_feed = 100
23
use_embedded_content = False
25
remove_javascript = True
26
cover_url = 'http://www.honoluluadvertiser.com/graphics/frontpage/frontpage.jpg'
29
'--comment' , description
30
, '--category' , category
31
, '--publisher' , publisher
34
html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"'
36
keep_only_tags = [dict(name='div', attrs={'class':["hon_article_top","article-bodytext","hon_article_photo","storyphoto","article"]}),
37
dict(name='div', attrs={'id':["storycontentleft","article"]})
40
remove_tags = [dict(name=['object','link','embed']),
41
dict(name='div', attrs={'class':["article-tools","titleBar","invisiblespacer","articleflex-container","hon_newslist","categoryheader","columnframe","subHeadline","poster-container"]}),
42
dict(name='div', attrs={'align':["right"]}),
43
dict(name='div', attrs={'id':["pluckcomments"]}),
44
dict(name='td', attrs={'class':["prepsfacts"]}),
45
dict(name='img', attrs={'height':["1"]}),
46
dict(name='img', attrs={'alt':["Advertisement"]}),
47
dict(name='img', attrs={'src':["/gcicommonfiles/sr/graphics/common/adlabel_horz.gif","/gcicommonfiles/sr/graphics/common/icon_whatsthis.gif",]}),
51
h1{font-family:Arial,Helvetica,sans-serif; font-size:large; color:#000000; }
52
.hon_article_timestamp{font-family:Arial,Helvetica,sans-serif; font-size:70%; }
53
.postedStoryDate{font-family:Arial,Helvetica,sans-serif; font-size:30%; }
54
.postedDate{font-family:Arial,Helvetica,sans-serif; font-size:30%; }
55
.credit{font-family:Arial,Helvetica,sans-serif; font-size:30%; }
56
.hon_article_top{font-family:Arial,Helvetica,sans-serif; color:#666666; font-size:30%; font-weight:bold;}
57
.grayBackground{font-family:Arial,Helvetica,sans-serif; color:#666666; font-size:30%;}
58
.hon_photocaption{font-family:Arial,Helvetica,sans-serif; font-size:30%; }
59
.photoCaption{font-family:Arial,Helvetica,sans-serif; font-size:30%; }
60
.hon_photocredit{font-family:Arial,Helvetica,sans-serif; font-size:30%; color:#666666;}
61
.storyphoto{font-family:Arial,Helvetica,sans-serif; font-size:30%; color:#666666;}
62
.article-bodytext{font-family:Arial,Helvetica,sans-serif; font-size:xx-small; }
63
.storycontentleft{font-family:Arial,Helvetica,sans-serif; font-size:xx-small; }
64
#article{font-family:Arial,Helvetica,sans-serif; font-size:xx-small; }
65
.contentarea{font-family:Arial,Helvetica,sans-serif; font-size:xx-small; }
66
.storytext{font-family:Verdana,Arial,Helvetica,sans-serif; font-size:xx-small;}
67
.storyHeadline{font-family:Arial,Helvetica,sans-serif; font-size:large; color:#000000; font-weight:bold;}
68
.source{font-family:Arial,Helvetica,sans-serif; color:#333333; font-style: italic; font-weight:bold; }
72
(u'Breaking news', u'http://www.honoluluadvertiser.com/apps/pbcs.dll/section?Category=RSS01&MIME=XML' )
73
,(u'Local news', u'http://www.honoluluadvertiser.com/apps/pbcs.dll/section?Category=RSS02&MIME=XML' )
74
,(u'Sports', u'http://www.honoluluadvertiser.com/apps/pbcs.dll/section?Category=RSS03&MIME=XML' )
75
,(u'Island life', u'http://www.honoluluadvertiser.com/apps/pbcs.dll/section?Category=RSS05&MIME=XML' )
76
,(u'Entertainment', u'http://www.honoluluadvertiser.com/apps/pbcs.dll/section?Category=RSS06&MIME=XML' )
77
,(u'Business', u'http://www.honoluluadvertiser.com/apps/pbcs.dll/section?Category=RSS04&MIME=XML' )
80
def preprocess_html(self, soup):
81
for item in soup.findAll(style=True):
83
mtag = '\n<meta http-equiv="Content-Language" content="en"/>\n'
84
soup.head.insert(0,mtag)
86
for tag in soup.findAll(name=['span','table','font']):
92
# def print_version(self, url):
93
# ubody, sep, rest = url.rpartition('/-1/')
94
# root, sep2, article_id = ubody.partition('/article/')
95
# return u'http://www.honoluluadvertiser.com/apps/pbcs.dll/article?AID=/' + article_id + '&template=printart'