__license__ = 'GPL v3'
__copyright__ = '2011, Pat Stapleton <pat.stapleton at gmail.com>'
'''
abc.net.au/news
'''
import re
from calibre.web.feeds.recipes import BasicNewsRecipe


class ABCNews(BasicNewsRecipe):
    title = 'ABC News'
    __author__ = 'Pat Stapleton, Dean Cording'
    description = 'News from Australia'
    masthead_url = 'http://www.abc.net.au/news/assets/v5/images/common/logo-news.png'
    cover_url = 'http://www.abc.net.au/news/assets/v5/images/common/logo-news.png'

    oldest_article = 2
    max_articles_per_feed = 100
    no_stylesheets = False
    use_embedded_content = False
    encoding = 'utf8'
    publisher = 'ABC News'
    category = 'News, Australia, World'
    language = 'en_AU'
    publication_type = 'newsportal'
#    preprocess_regexps     = [(re.compile(r'<!--.*?-->', re.DOTALL), lambda m: '')]
# Remove annoying map links (inline-caption class is also used for some
# image captions! hence regex to match maps.google)
    preprocess_regexps = [(re.compile(
        r'<a class="inline-caption" href="http://maps\.google\.com.*?/a>', re.DOTALL), lambda m: '')]
    conversion_options = {
        'comments': description, 'tags': category, 'language': language, 'publisher': publisher, 'linearize_tables': False
    }

    keep_only_tags = [dict(attrs={'class': ['article section']})]

    remove_tags = [dict(attrs={'class': ['related', 'tags', 'tools', 'attached-content ready',
                                         'inline-content story left', 'inline-content map left contracted', 'published',
                                         'story-map', 'statepromo', 'topics', ]})]

    remove_attributes = ['width', 'height']

    feeds = [
        ('Top Stories', 'http://www.abc.net.au/news/feed/45910/rss.xml'),
        ('Canberra', 'http://www.abc.net.au/news/feed/6910/rss.xml'),
        ('Sydney', 'http://www.abc.net.au/news/feed/10232/rss.xml'),
        ('Melbourne', 'http://www.abc.net.au/news/feed/21708/rss.xml'),
        ('Brisbane', 'http://www.abc.net.au/news/feed/12858/rss.xml'),
        ('Perth', 'feed://www.abc.net.au/news/feed/24886/rss.xml'),
        ('Australia', 'http://www.abc.net.au/news/feed/46182/rss.xml'),
        ('World', 'http://www.abc.net.au/news/feed/52278/rss.xml'),
        ('Business', 'http://www.abc.net.au/news/feed/51892/rss.xml'),
        ('Science and Technology',
         'http://www.abc.net.au/news/feed/2298/rss.xml'),
    ]
