from calibre.web.feeds.news import BasicNewsRecipe


class NBOnline(BasicNewsRecipe):
    title = u'Nikkei Business Online'
    language = 'ja'
    description = u'Nikkei Business Online.\u6CE8\uFF1A\u30E6\u30FC\u30B6\u30FC\u540D\u306Bemail\u30A2\u30C9\u30EC\u30B9\u3068\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u30BB\u30DF\u30B3\u30ED\u30F3\u3067\u533A\u5207\u3063\u3066\u5165\u308C\u3066\u304F\u3060\u3055\u3044\u3002\u4F8B\uFF1Aemail@address.jp;username . PLEASE NOTE: You need to put your email address and username into username filed separeted by ; (semi-colon).'  # noqa
    __author__ = 'Ado Nishimura'
    needs_subscription = True
    oldest_article = 7
    max_articles_per_feed = 100
    remove_tags_before = dict(id='kanban')
    remove_tags = [dict(name='div', id='footer')]

    feeds = [('Nikkei Buisiness Online',
              'http://business.nikkeibp.co.jp/rss/all_nbo.rdf')]

    def get_cover_url(self):
        return 'http://business.nikkeibp.co.jp/images/nbo/200804/parts/logo.gif'

    def get_browser(self):
        br = BasicNewsRecipe.get_browser(self)
        if self.username is not None and self.password is not None:
            br.open('https://signon.nikkeibp.co.jp/front/login/?ct=p&ts=nbo')
            br.select_form(name='loginActionForm')
            br['email'] = self.username.split(';')[0]
            br['userId'] = self.username.split(';')[1]
            br['password'] = self.password
            br.submit()
        return br

    def print_version(self, url):
        return url + '?ST=print'
