__license__ = 'GPL v3' __copyright__ = '2011, Darko Miletic ' ''' www.athensnews.gr ''' from calibre.web.feeds.news import BasicNewsRecipe class AthensNews(BasicNewsRecipe): title = 'Athens News' __author__ = 'Darko Miletic' description = 'Greece in English since 1952' publisher = 'NEP Publishing Company SA' category = 'news, politics, Greece, Athens' oldest_article = 1 max_articles_per_feed = 200 no_stylesheets = True encoding = 'utf8' use_embedded_content = False language = 'en_GR' remove_empty_feeds = True publication_type = 'newspaper' masthead_url = 'http://www.athensnews.gr/sites/athensnews/themes/athensnewsv3/images/logo.jpg' extra_css = """ body{font-family: Arial,Helvetica,sans-serif } img{margin-bottom: 0.4em; display:block} .big{font-size: xx-large; font-family: Georgia,serif} .articlepubdate{font-size: small; color: gray; font-family: Georgia,serif} .lezanta{font-size: x-small; font-weight: bold; text-align: left; margin-bottom: 1em; display: block} """ conversion_options = { 'comment' : description , 'tags' : category , 'publisher' : publisher , 'language' : language , 'linearize_tables' : True } remove_tags = [ dict(name=['meta','link']) ] keep_only_tags=[ dict(name='span',attrs={'class':'big'}) ,dict(name='td', attrs={'class':['articlepubdate','text']}) ] remove_attributes=['lang'] feeds = [ (u'News' , u'http://www.athensnews.gr/category/1/feed' ) ,(u'Politics' , u'http://www.athensnews.gr/category/8/feed' ) ,(u'Business' , u'http://www.athensnews.gr/category/2/feed' ) ,(u'Economy' , u'http://www.athensnews.gr/category/11/feed') ,(u'Community' , u'http://www.athensnews.gr/category/5/feed' ) ,(u'Arts' , u'http://www.athensnews.gr/category/3/feed' ) ,(u'Living in Athens', u'http://www.athensnews.gr/category/7/feed' ) ,(u'Sports' , u'http://www.athensnews.gr/category/4/feed' ) ,(u'Travel' , u'http://www.athensnews.gr/category/6/feed' ) ,(u'Letters' , u'http://www.athensnews.gr/category/44/feed') ,(u'Media' , u'http://www.athensnews.gr/multimedia/feed' ) ] def print_version(self, url): return url + '?action=print' def preprocess_html(self, soup): for item in soup.findAll(style=True): del item['style'] return soup