__license__ = 'GPL 3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'

from calibre.web.feeds.news import BasicNewsRecipe


class AdvancedUserRecipe1294342201(BasicNewsRecipe):
    title = u'New London Day'
    __author__ = 'Being'
    description = 'State, local and business news from New London, CT'
    language = 'en'
    oldest_article = 1
    max_articles_per_feed = 200

    use_embedded_content = False
    no_stylesheets = True
    remove_javascript = True
    remove_tags_before = dict(id='article')
    remove_tags_after = dict(id='article')
    remove_tags = [dict(attrs={'class': ['articleTools', 'post-tools', 'side_tool', 'nextArticleLink clearfix']}),
                   dict(id=['footer', 'toolsRight', 'articleInline', 'navigation',
                            'archive', 'side_search', 'blog_sidebar', 'side_tool', 'side_index']),
                   dict(name=['script', 'noscript', 'style'])]
    remove_tags_after = [{'class': ['photo_article', ]}]
    remove_tags = [{'id': ["moduleArticleTools", "content-bottom", "rail", "articleRelates module", "toolSet", "relatedrailcontent", "div-wrapper", "beta", "atp-comments", "footer"]}, {'class': ["clearfix", "relatedTitle", "articleRelates module", "asset-footer", "tools", "comments", "featurePromo", "featurePromo fp-topjobs brownBackground", "clearfix fullSpan brownBackground", "curvedContent"]},  # noqa
                   dict(name='font', attrs={'id': ["cr-other-headlines"]})]
    extra_css = '''
                    h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
                    h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
                    .byline {font-family:Arial,Helvetica,sans-serif; font-size:xx-small;}
                    .date {font-family:Arial,Helvetica,sans-serif; font-size:xx-small;}
                    p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    .copyright {font-family:Arial,Helvetica,sans-serif;font-size:xx-small;text-align:center}
                    .story{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    .entry-asset asset hentry{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    .pagebody{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    .maincontentcontainer{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    .story-body{font-family:Arial,Helvetica,sans-serif;font-size:small;}
                    body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
    '''

    feeds = [
        (u'All News', u'http://www.theday.com/section/rss'),
        (u'Breaking News', u'http://www.theday.com/section/rss01'),
        (u'Police and Courts', u'http://www.theday.com/section/rss02'),
        (u'State News', u'http://www.theday.com/section/rss03'),
        (u'Local Business', u'http://www.theday.com/section/rss04'),
        (u'Entertainment', u'http://www.theday.com/section/rss05'),
        (u'Opinion', u'http://www.theday.com/section/rss06'),
        (u'Casinos', u'http://www.theday.com/section/rss12'),
        (u'Defense and Military', u'http://www.theday.com/section/rss14'),
        (u'Ann Baldelli Ruminations', u'http://www.theday.com/section/rss20'),
        (u'Paul Choiniere Ruminations', u'http://www.theday.com/section/rss21'),
        (u'Michael Costanza Omnivore', u'http://www.theday.com/section/rss23'),
        (u'Rebecca Dangelo Reel Life', u'http://www.theday.com/section/rss25'), ]

    def print_version(self, url):
        return url.replace('/index.html', '/print.html')

    def get_article_url(self, article):
        return article.get('feedburner_origlink', article.get('guid', article.get('link')))

    def postprocess_html(self, soup, first_fetch):
        for t in soup.findAll(['table', 'tr', 'td']):
            t.name = 'div'

        for tag in soup.findAll('form', dict(attrs={'name': ["comments_form"]})):
            tag.extract()
        for tag in soup.findAll('font', dict(attrs={'id': ["cr-other-headlines"]})):
            tag.extract()

        return soup
