#!/usr/bin/env python
# vim:fileencoding=utf-8

from __future__ import unicode_literals, division, absolute_import, print_function

'''
noz.de
'''

from calibre.web.feeds.news import BasicNewsRecipe


class NeueOsnabrueckerZeitung(BasicNewsRecipe):
    title = 'Neue Osnabrücker Zeitung'
    __author__ = 'vo_he, epubli'
    description = 'RSS-Feeds von noz.de'
    publisher = 'Neue Osnabrücker Zeitung GmbH & Co. KG'
    publication_type = 'newspaper'
    language = 'de'
    cover_url= 'https://www.noz-cdn.de/version-247/bundles/nozplatform/images/logos/noz-logo2x.png'

    oldest_article = 2
    max_articles_per_feed = 10
    no_stylesheets = True
    remove_javascript = True
    remove_empty_feeds = True
    compress_news_images = True
    compress_news_images_auto_size = 8
    scale_news_images_to_device = True
    scale_news_images = (600, 800)
    ignore_duplicate_articles = {'title', 'url'}

    masthead_url = 'http://www.noz.de/bundles/nozplatform/images/logos/osnabruecker-zeitung.png'

    feeds = [
        ('Politik', 'http://www.noz.de/rss/ressort/Politik'),
        ('Wirtschaft', 'http://www.noz.de/rss/ressort/Wirtschaft'),
        ('Kultur', 'http://www.noz.de/rss/ressort/Kultur'),
        ('Medien', 'http://www.noz.de/rss/ressort/Medien'),
        ('Gut zu wissen', 'http://www.noz.de/rss/ressort/Gut%20zu%20wissen'),
        ('Vermischtes', 'http://www.noz.de/rss/ressort/Vermischtes'),
        ('Sport', 'http://www.noz.de/rss/ressort/Sport'),
        ('Fußball', 'http://www.noz.de/rss/ressort/Fu%C3%9Fball'),
        ('Niedersachsen', 'http://www.noz.de/rss/ressort/Niedersachsen'),
        ('Nordrhein-Westfalen', 'http://www.noz.de/rss/ressort/Nordrhein-Westfalen'),
        # Neue Osnabrücker Zeitung
        # ('Bad Iburg', 'http://www.noz.de/rss/ressort/Bad%20Iburg'),
        # ('Bad Laer', 'http://www.noz.de/rss/ressort/Bad%20Laer'),
        # ('Bad Rothenfelde', 'http://www.noz.de/rss/ressort/Bad%20Rothenfelde'),
        # ('Belm', 'http://www.noz.de/rss/ressort/Belm'),
        # ('Bissendorf', 'http://www.noz.de/rss/ressort/Bissendorf'),
        # ('Dissen', 'http://www.noz.de/rss/ressort/Dissen'),
        # ('GMHütte', 'http://www.noz.de/rss/ressort/Georgsmarienh%C3%BCtte'),
        # ('Glandorf', 'http://www.noz.de/rss/ressort/Glandorf'),
        # ('Hagen', 'http://www.noz.de/rss/ressort/Hagen'),
        # ('Hasbergen', 'http://www.noz.de/rss/ressort/Hasbergen'),
        # ('Hilter', 'http://www.noz.de/rss/ressort/Hilter'),
        # ('Lotte', 'http://www.noz.de/rss/ressort/Lotte'),
        # ('SF Lotte', 'http://www.noz.de/rss/ressort/SF%20Lotte'),
        # ('Osnabrück', 'http://www.noz.de/rss/ressort/Osnabr%C3%BCck'),
        # ('OS-Sport', 'http://www.noz.de/rss/ressort/OS-Sport'),
        # ('Panthers', 'http://www.noz.de/rss/ressort/Panthers'),
        # ('Wallenhorst', 'http://www.noz.de/rss/ressort/Wallenhorst'),
        # ('Westerkappeln', 'http://www.noz.de/rss/ressort/Westerkappeln'),
        # Bersenbrücker Kreisblatt
        # ('Artland', 'http://www.noz.de/rss/ressort/Samtgemeinde%20Artland'),
        # ('Artland Dragons', 'http://www.noz.de/rss/ressort/Artland%20Dragons'),
        # ('Bersenbrück', 'http://www.noz.de/rss/ressort/Samtgemeinde%20Bersenbr%C3%BCck'),
        # ('Fürstenau', 'http://www.noz.de/rss/ressort/Samtgemeinde%20F%C3%BCrstenau'),
        # ('Neuenkirchen', 'http://www.noz.de/rss/ressort/Samtgemeinde%20Neuenkirchen'),
        # Bramscher Nachrichten
        # ('Bramsche', 'http://www.noz.de/rss/ressort/Bramsche'),
        # ('Neuenkirchen-Vörden', 'http://www.noz.de/rss/ressort/Neuenkirchen-V%C3%B6rden'),
        # Delmenhorster Kreisblatt
        # ('Bremen', 'http://www.noz.de/rss/ressort/Bremen'),
        # ('Delmenhorst', 'http://www.noz.de/rss/ressort/Delmenhorst'),
        # ('Ganderkesee', 'http://www.noz.de/rss/ressort/Ganderkesee'),
        # ('Stuhr', 'http://www.noz.de/rss/ressort/Stuhr'),
        # Ems-Zeitung
        # ('Dörpen', 'http://www.noz.de/rss/ressort/D%C3%B6rpen'),
        # ('Lathen', 'http://www.noz.de/rss/ressort/Lathen'),
        # ('Nordhümmling', 'http://www.noz.de/rss/ressort/Nordh%C3%BCmmling'),
        # ('Papenburg', 'http://www.noz.de/rss/ressort/Papenburg'),
        # ('Rhede', 'http://www.noz.de/rss/ressort/Rhede'),
        # ('Sögel', 'http://www.noz.de/rss/ressort/S%C3%B6gel'),
        # ('Werlte', 'http://www.noz.de/rss/ressort/Werlte'),
        # ('Westoverledingen', 'http://www.noz.de/rss/ressort/Westoverledingen'),
        # Lingener Tagespost
        # ('Emsbueren', 'http://www.noz.de/rss/ressort/Emsb%C3%BCren'),
        # ('Freren', 'http://www.noz.de/rss/ressort/Freren'),
        # ('Lengerich', 'http://www.noz.de/rss/ressort/Lengerich'),
        # ('Lingen', 'http://www.noz.de/rss/ressort/Lingen'),
        # ('Lohne', 'http://www.noz.de/rss/ressort/Lohne'),
        # ('Salzbergen', 'http://www.noz.de/rss/ressort/Salzbergen'),
        # ('Spelle', 'http://www.noz.de/rss/ressort/Spelle'),
        # Meller Kreisblatt
        # ('Melle', 'http://www.noz.de/rss/ressort/Melle'),
        # Wittlager Kreisblatt
        # ('Bad Essen', 'http://www.noz.de/rss/ressort/Bad%20Essen'),
        # ('Bohmte', 'http://www.noz.de/rss/ressort/Bohmte'),
        # ('Ostercappeln', 'http://www.noz.de/rss/ressort/Ostercappeln'),
        # Meppener Tagespost
        # ('Geeste', 'http://www.noz.de/rss/ressort/Geeste'),
        # ('Haren', 'http://www.noz.de/rss/ressort/Haren'),
        # ('Haselünne', 'http://www.noz.de/rss/ressort/Hasel%C3%BCnne'),
        # ('Herzlake', 'http://www.noz.de/rss/ressort/Herzlake'),
        # ('Meppen', 'http://www.noz.de/rss/ressort/Meppen'),
        # ('SV Meppen', 'http://www.noz.de/rss/ressort/SV%20Meppen'),
        # ('Twist', 'http://www.noz.de/rss/ressort/Twist')
    ]

    def print_version(self, url):
        url_split = url.split('/')
        return 'http://www.noz.de/socialmediabar/print/article/' + url_split[-2]

    def preprocess_html(self, soup):
        # remove first paragraph
        paragraph = soup.find('p')
        if paragraph:
            paragraph.extract()
        else:
            self.abort_article()
        return soup
