#!/usr/bin/env python2
# vim:fileencoding=utf-8
from __future__ import unicode_literals, division, absolute_import, print_function
from calibre.web.feeds.news import BasicNewsRecipe
from datetime import datetime
import urllib
import json

class google_news_de(BasicNewsRecipe):
    # variables you should change to fit your requests!
    # here are a sample for an english speaking user intrested in ebook content and news from india
    #       
    searchfor = 'computer'		# a serarch topic, filled into the string below. You can change that to anything google news should be searched for...
    url = "https://geolocation-db.com/json"
    response = urllib.urlopen(url)
    data = json.loads(response.read())
    country_code = str(data['country_code']).lower() # for me this is de
    city = str(data['city'])
    location	= city + ',' + country_code

     # Titel of the Recipe - this is a sample
    title = 'Google News '+country_code
    cover_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Google_News_icon.svg/500px-Google_News_icon.svg.png'
    # Author
    __author__ = 'Volker Heggemann, VoHe'
    # oldes article to download (in days) 									---- can be edit by user
    oldest_article = 2
    # describes itself, 						 							---- can be edit by user
    max_articles_per_feed = 200
    # speed up the download on fast computers be carefull (I test max.20)
    # ---- can be edit by user
    simultaneous_downloads = 10
    # description, some Reader show this in titlepage
    description = u'Google News filter by your own recipe. Please read it in calibre software!'
    # add date to description so for dayly downloads you can find them easier
    # ---- can be edit by user
    description = description + ' fetched: ' + \
        datetime.now().strftime("%Y-%m-%d")  # %H:%M:%S")
    # Who published the content?
    publisher = u'https://news.google.com/topstories?hl='+country_code+'&gl=DE&ceid=DE:'+country_code
    # What is the content of?
    category = u'NEWS'
    # describes itself, 						 							---- can be edit by user
    use_embedded_content = False
    # describes itself, 						 							---- can be edit by user
    language = country_code
    # encoding of content. e.g. utf-8, None, ...
    # ---- can be edit by user
    # encoding = None  
    # Removes javascript- why keep this, we only want static content
    remove_javascript = True
    # Removes empty feeds - why keep them!?
    remove_empty_feeds = True

    # remove the rubbish (in ebook)
    auto_cleanup = True
    # now the content description and URL follows
    # feel free to add, wipe out what you need	 							---- can be edit by user
    #
    feeds          = [
                       ('Google news Topnews for '+country_code, 
                            'http://news.google.com/news?pz=1&cf=all&ned='+country_code+'&hl='+country_code+'&output=rss'),
                       ('Google news for '+location, 
                            'https://news.google.'+country_code+'/news/rss/headlines/section/geo/'+location),
                       ('Google news intrested in '+searchfor, 
                            'https://news.google.com/news?cf=all&hl='+country_code+'+&pz=1&ned='+country_code+'&q='+searchfor+'&output=rss'),

                     ]