Read The Japan Times on your iPad or Kindle in no time. Click download to load the free ebook on your reader.

Check out all the available public recipes or write your own with these quick start guides. ReadBeam is built on calibre, so everything in the docs and the fora applies here as well.

Download for free »

News from Japan

Language: en

Requires Subscription: No, it's available as free ebook

Schedule Every morning

			  __license__   = 'GPL v3'
__copyright__ = '2008-2011, Darko Miletic <darko.miletic at gmail.com>'
'''
japantimes.co.jp
'''

from calibre.web.feeds.news import BasicNewsRecipe

class JapanTimes(BasicNewsRecipe):
    title                 = 'The Japan Times'
    __author__            = 'Darko Miletic'
    description           = "Daily news and features on Japan from the most widely read English-language newspaper in Japan. Coverage includes national news, business news, sports news, commentary and features on living in Japan, entertainment, the arts, education and more."
    language              = 'en_JP'
    category              = 'news, politics, japan'
    publisher             = 'The Japan Times'
    oldest_article        = 5
    max_articles_per_feed = 150
    no_stylesheets        = True
    use_embedded_content  = False
    encoding              = 'utf8'
    publication_type      = 'newspaper'
    masthead_url          = 'http://search.japantimes.co.jp/images/header_title.gif'
    extra_css             = 'body{font-family: Geneva,Arial,Helvetica,sans-serif}'

    conversion_options = {
                          'comment'          : description
                        , 'tags'             : category
                        , 'publisher'        : publisher
                        , 'language'         : language
                        , 'linearize_tables' : True
                        }


    keep_only_tags    = [dict(name='div', attrs={'id':'printresult'})]
    remove_tags       = [
                          dict(name=['iframe','meta','link','embed','object','base'])
                         ,dict(attrs={'id':'searchfooter'})
                        ]
    feeds             = [(u'The Japan Times', u'http://feeds.feedburner.com/japantimes')]
    remove_attributes = ['border']

    def get_article_url(self, article):
        rurl = BasicNewsRecipe.get_article_url(self, article)
        return rurl.partition('?')[0]

    def print_version(self, url):
        if '/rss/' in url:
            return url.replace('.jp/rss/','.jp/print/')
        if '/text/' in url:
            return url.replace('.jp/text/','.jp/print/')
        return url

    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'
        for item in soup.findAll('photo'):
            item.name = 'div'
        for item in soup.head.findAll('paragraph'):
            item.extract()
        for item in soup.findAll('wwfilename'):
            item.extract()
        for item in soup.findAll('jtcategory'):
            item.extract()
        for item in soup.findAll('nomooter'):
            item.extract()
        for item in soup.body.findAll('paragraph'):
            item.name = 'p'
        return soup