import re
from calibre.web.feeds.news import BasicNewsRecipe


class AssociatedPress(BasicNewsRecipe):

    title = u'Associated Press'
    description = 'Global news'
    __author__ = 'Kovid Goyal and Sujata Raman'
    use_embedded_content   = False
    language = 'en'
    no_stylesheets = True
    max_articles_per_feed = 15
    html2lrf_options = ['--force-page-break-before-tag="chapter"']


    preprocess_regexps = [ (re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in
[
         (r'<span class="entry-content">', lambda match : '<div class="entry-content">'),
    ]
    ]


    keep_only_tags = [ dict(name='div', attrs={'class':['body']}),
                       dict(name='div', attrs={'class':['entry-content']}),
                       ]
    remove_tags = [dict(name='table', attrs={'class':['ap-video-table','ap-htmlfragment-table','ap-htmltable-table']}),
                   dict(name='span', attrs={'class':['apCaption','tabletitle']}),
                   dict(name='td', attrs={'bgcolor':['#333333']}),
                  ]
    extra_css = '''
               .headline{font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;}
               .bline{color:#003366;}
                body{font-family:Arial,Helvetica,sans-serif;}
                '''


    feeds = [
                   ('AP Headlines', 'http://hosted.ap.org/lineups/TOPHEADS-rss_2.0.xml?SITE=ORAST&SECTION=HOME'),
                   ('AP US News', 'http://hosted.ap.org/lineups/USHEADS-rss_2.0.xml?SITE=CAVIC&SECTION=HOME'),
                   ('AP World News', 'http://hosted.ap.org/lineups/WORLDHEADS-rss_2.0.xml?SITE=SCAND&SECTION=HOME'),
                   ('AP Political News', 'http://hosted.ap.org/lineups/POLITICSHEADS-rss_2.0.xml?SITE=ORMED&SECTION=HOME'),
                   ('AP Washington State News', 'http://hosted.ap.org/lineups/WASHINGTONHEADS-rss_2.0.xml?SITE=NYPLA&SECTION=HOME'),
                   ('AP Technology News', 'http://hosted.ap.org/lineups/TECHHEADS-rss_2.0.xml?SITE=CTNHR&SECTION=HOME'),
                   ('AP Health News', 'http://hosted.ap.org/lineups/HEALTHHEADS-rss_2.0.xml?SITE=FLDAY&SECTION=HOME'),
                   ('AP Science News', 'http://hosted.ap.org/lineups/SCIENCEHEADS-rss_2.0.xml?SITE=OHCIN&SECTION=HOME'),
                   ('AP Strange News', 'http://hosted.ap.org/lineups/STRANGEHEADS-rss_2.0.xml?SITE=WCNC&SECTION=HOME'),
    ]

