calibre/recipes/dziennik_polski.recipe
Kovid Goyal 567040ee1e Perform PEP8 compliance checks on the entire codebase
Some bits of PEP 8 are turned off via setup.cfg
2016-07-29 21:25:17 +05:30

131 lines
6.0 KiB
Plaintext

# -*- coding: utf-8 -*-
__license__ = 'GPL v3'
__author__ = 'grzegorz.maj@dziennik.krakow.pl>'
'''
http://dziennikpolski24.pl
Author: grzegorz.maj@dziennik.krakow.pl
'''
from calibre.web.feeds.news import BasicNewsRecipe
class DziennikPolski24(BasicNewsRecipe):
title = u'Dziennik Polski'
publisher = u'Grupa Polskapresse'
__author__ = 'grzegorz.maj'
description = u'Wiadomości z wydania Dziennika Polskiego'
oldest_article = 1
max_articles_per_feed = 50
needs_subscription = True
remove_javascript = True
no_stylesheets = True
use_embedded_content = False
remove_empty_feeds = True
extra_css = '.date{margin-top: 4em;} .logo_author{margin-left:0.5em;}'
publication_type = 'newspaper'
cover_url = 'http://www.dziennikpolski24.pl/_p/images/logoDP24-b.gif'
INDEX = 'http://dziennikpolski24.pl/'
encoding = 'utf-8'
language = 'pl'
keep_only_tags = [
dict(name='div', attrs={'class': ['toolbar']}), dict(name='h1'), dict(name='h2', attrs={'class': ['teaser']}), dict(name='div', attrs={'class': ['picture']}), dict(name='div', attrs={'id': ['showContent']}), dict(name='div', attrs={'class': ['paging']}), dict(name='div', attrs={'class': ['wykupTresc']}) # noqa
]
remove_tags = [
]
feeds = [
(u'Kraj', u'http://www.dziennikpolski24.pl/rss/feed/1151'),
(u'Świat', u'http://www.dziennikpolski24.pl/rss/feed/1153'),
(u'Gospodarka', u'http://www.dziennikpolski24.pl/rss/feed/1154'),
(u'Małopolska', u'http://www.dziennikpolski24.pl/rss/feed/1155'),
(u'Kultura', u'http://www.dziennikpolski24.pl/rss/feed/1156'),
(u'Opinie', u'http://www.dziennikpolski24.pl/rss/feed/1158'),
(u'Kronika Nowohucka', u'http://www.dziennikpolski24.pl/rss/feed/1656'),
(u'Na bieżąco', u'http://www.dziennikpolski24.pl/rss/feed/1543'),
(u'Londyn 2012', u'http://www.dziennikpolski24.pl/rss/feed/2545'),
(u'Piłka nożna', u'http://www.dziennikpolski24.pl/rss/feed/2196'),
(u'Siatkówka', u'http://www.dziennikpolski24.pl/rss/feed/2197'),
(u'Koszykówka', u'http://www.dziennikpolski24.pl/rss/feed/2198'),
(u'Tenis', u'http://www.dziennikpolski24.pl/rss/feed/2199'),
(u'Formuła 1', u'http://www.dziennikpolski24.pl/rss/feed/2203'),
(u'Lekkoatletyka', u'http://www.dziennikpolski24.pl/rss/feed/2204'),
(u'Żużel', u'http://www.dziennikpolski24.pl/rss/feed/2200'),
(u'Sporty motorowe', u'http://www.dziennikpolski24.pl/rss/feed/2206'),
(u'Publicystyka sportowa', u'http://www.dziennikpolski24.pl/rss/feed/2201'),
(u'Kolarstwo', u'http://www.dziennikpolski24.pl/rss/feed/2205'),
(u'Inne', u'http://www.dziennikpolski24.pl/rss/feed/2202'),
(u'Miasto Kraków', u'http://www.dziennikpolski24.pl/rss/feed/1784'),
(u'Region nowosądecki', u'http://www.dziennikpolski24.pl/rss/feed/1795'),
(u'Region Małopolski Zachodniej', u'http://www.dziennikpolski24.pl/rss/feed/1793'),
(u'Region tarnowski', u'http://www.dziennikpolski24.pl/rss/feed/1797'),
(u'Region podhalański', u'http://www.dziennikpolski24.pl/rss/feed/1789'),
(u'Region olkuski', u'http://www.dziennikpolski24.pl/rss/feed/1670'),
(u'Region miechowski', u'http://www.dziennikpolski24.pl/rss/feed/1806'),
(u'Region podkrakowski', u'http://www.dziennikpolski24.pl/rss/feed/1787'),
(u'Region proszowicki', u'http://www.dziennikpolski24.pl/rss/feed/1804'),
(u'Region wielicki', u'http://www.dziennikpolski24.pl/rss/feed/1802'),
(u'Region podbeskidzki', u'http://www.dziennikpolski24.pl/rss/feed/1791'),
(u'Region myślenicki', u'http://www.dziennikpolski24.pl/rss/feed/1800'),
(u'Autosalon', u'http://www.dziennikpolski24.pl/rss/feed/1294'),
(u'Kariera', u'http://www.dziennikpolski24.pl/rss/feed/1289'),
(u'Przegląd nieruchomości', u'http://www.dziennikpolski24.pl/rss/feed/1281'),
(u'Magnes', u'http://www.dziennikpolski24.pl/rss/feed/1283'),
(u'Magazyn Piątek', u'http://www.dziennikpolski24.pl/rss/feed/1293'),
(u'Pejzaż rodzinny', u'http://www.dziennikpolski24.pl/rss/feed/1274'),
(u'Podróże', u'http://www.dziennikpolski24.pl/rss/feed/1275'),
(u'Konsument', u'http://www.dziennikpolski24.pl/rss/feed/1288')
]
def append_page(self, soup, appendtag):
loop = False
tag = soup.find('div', attrs={'class': 'paging'})
if tag:
loop = True
li_nks = tag.findAll('li')
appendtag.find('div', attrs={'class': 'paging'}).extract()
if appendtag.find('ul', attrs={'class': 'menuf'}):
appendtag.find('ul', attrs={'class': 'menuf'}).extract()
while loop:
loop = False
for li_nk in li_nks:
link_tag = li_nk.contents[0].contents[0].string
if u'następna' in link_tag:
soup2 = self.index_to_soup(
self.INDEX + li_nk.contents[0]['href'])
if soup2.find('div', attrs={'id': 'showContent'}):
pagetext = soup2.find(
'div', attrs={'id': 'showContent'})
pos = len(appendtag.contents)
appendtag.insert(pos, pagetext)
if soup2.find('div', attrs={'class': 'rightbar'}):
pagecont = soup2.find(
'div', attrs={'class': 'rightbar'})
tag = pagecont.find(
'div', attrs={'class': 'paging'})
li_nks = tag.findAll('li')
loop = True
def get_browser(self):
br = BasicNewsRecipe.get_browser(self)
if self.username is not None and self.password is not None:
br.open('http://www.dziennikpolski24.pl/pl/moje-konto/950606-loguj.html')
br.select_form(nr=1)
br["user_login[login]"] = self.username
br['user_login[pass]'] = self.password
br.submit()
return br
def preprocess_html(self, soup):
self.append_page(soup, soup.body)
return soup