~ubuntu-branches/debian/experimental/calibre/experimental

« back to all changes in this revision

Viewing changes to recipes/dziennik_polski.recipe

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2012-08-16 09:55:40 UTC
  • mfrom: (1.3.35)
  • Revision ID: package-import@ubuntu.com-20120816095540-yfaxheew17jv19l5
Tags: 0.8.64+dfsg-1
* New upstream release:
  - Update license of the quick start guide to be DFSG compatible. Thanks to
    Christophe Siraut for sorting this out! (Closes: #653328)
* debian/control: Add new libmtp-dev build dependency.
* debian/control: Stricter python-mechanize dependency. (Closes: #684616)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
__license__='GPL v3'
 
3
__author__='grzegorz.maj@dziennik.krakow.pl>'
 
4
 
 
5
'''
 
6
http://dziennikpolski24.pl
 
7
Author: grzegorz.maj@dziennik.krakow.pl
 
8
'''
 
9
from calibre.web.feeds.news import BasicNewsRecipe
 
10
 
 
11
class DziennikPolski24(BasicNewsRecipe):
 
12
 
 
13
    title=u'Dziennik Polski'
 
14
    publisher=u'Grupa Polskapresse'
 
15
 
 
16
    __author__='grzegorz.maj'
 
17
    description=u'Wiadomości z wydania Dziennika Polskiego'
 
18
    oldest_article=1
 
19
    max_articles_per_feed=50
 
20
    needs_subscription=True
 
21
 
 
22
    remove_javascript=True
 
23
    no_stylesheets=True
 
24
    use_embedded_content=False
 
25
    remove_empty_feeds=True
 
26
    extra_css='.date{margin-top: 4em;} .logo_author{margin-left:0.5em;}'
 
27
 
 
28
    publication_type='newspaper'
 
29
    cover_url='http://www.dziennikpolski24.pl/_p/images/logoDP24-b.gif'
 
30
    INDEX='http://dziennikpolski24.pl/'
 
31
 
 
32
    encoding='utf-8'
 
33
    language='pl'
 
34
 
 
35
    keep_only_tags=[
 
36
 
 
37
                                   dict(name = 'div', attrs = {'class':['toolbar']})
 
38
                                   , dict(name = 'h1')
 
39
                                   , dict(name = 'h2', attrs = {'class':['teaser']})
 
40
                                   , dict(name = 'div', attrs = {'class':['picture']})
 
41
                                   , dict(name = 'div', attrs = {'id':['showContent']})
 
42
                                    , dict(name = 'div', attrs = {'class':['paging']})
 
43
                                    , dict(name = 'div', attrs = {'class':['wykupTresc']})
 
44
                                ]
 
45
 
 
46
    remove_tags=[
 
47
 
 
48
                          ]
 
49
 
 
50
    feeds=[
 
51
                      (u'Kraj', u'http://www.dziennikpolski24.pl/rss/feed/1151')
 
52
                    , (u'Świat', u'http://www.dziennikpolski24.pl/rss/feed/1153')
 
53
                    , (u'Gospodarka', u'http://www.dziennikpolski24.pl/rss/feed/1154')
 
54
                    , (u'Małopolska', u'http://www.dziennikpolski24.pl/rss/feed/1155')
 
55
                    , (u'Kultura', u'http://www.dziennikpolski24.pl/rss/feed/1156')
 
56
                    , (u'Opinie', u'http://www.dziennikpolski24.pl/rss/feed/1158')
 
57
                    , (u'Kronika Nowohucka', u'http://www.dziennikpolski24.pl/rss/feed/1656')
 
58
                    , (u'Na bieżąco', u'http://www.dziennikpolski24.pl/rss/feed/1543')
 
59
                    , (u'Londyn 2012', u'http://www.dziennikpolski24.pl/rss/feed/2545')
 
60
                    , (u'Piłka nożna', u'http://www.dziennikpolski24.pl/rss/feed/2196')
 
61
                    , (u'Siatkówka', u'http://www.dziennikpolski24.pl/rss/feed/2197')
 
62
                    , (u'Koszykówka', u'http://www.dziennikpolski24.pl/rss/feed/2198')
 
63
                    , (u'Tenis', u'http://www.dziennikpolski24.pl/rss/feed/2199')
 
64
                    , (u'Formuła 1', u'http://www.dziennikpolski24.pl/rss/feed/2203')
 
65
                    , (u'Lekkoatletyka', u'http://www.dziennikpolski24.pl/rss/feed/2204')
 
66
                    , (u'Żużel', u'http://www.dziennikpolski24.pl/rss/feed/2200')
 
67
                    , (u'Sporty motorowe', u'http://www.dziennikpolski24.pl/rss/feed/2206')
 
68
                    , (u'Publicystyka sportowa', u'http://www.dziennikpolski24.pl/rss/feed/2201')
 
69
                    , (u'Kolarstwo', u'http://www.dziennikpolski24.pl/rss/feed/2205')
 
70
                    , (u'Inne', u'http://www.dziennikpolski24.pl/rss/feed/2202')
 
71
                    , (u'Miasto Kraków', u'http://www.dziennikpolski24.pl/rss/feed/1784')
 
72
                    , (u'Region nowosądecki', u'http://www.dziennikpolski24.pl/rss/feed/1795')
 
73
                    , (u'Region Małopolski Zachodniej', u'http://www.dziennikpolski24.pl/rss/feed/1793')
 
74
                    , (u'Region tarnowski', u'http://www.dziennikpolski24.pl/rss/feed/1797')
 
75
                    , (u'Region podhalański', u'http://www.dziennikpolski24.pl/rss/feed/1789')
 
76
                    , (u'Region olkuski', u'http://www.dziennikpolski24.pl/rss/feed/1670')
 
77
                    , (u'Region miechowski', u'http://www.dziennikpolski24.pl/rss/feed/1806')
 
78
                    , (u'Region podkrakowski', u'http://www.dziennikpolski24.pl/rss/feed/1787')
 
79
                    , (u'Region proszowicki', u'http://www.dziennikpolski24.pl/rss/feed/1804')
 
80
                    , (u'Region wielicki', u'http://www.dziennikpolski24.pl/rss/feed/1802')
 
81
                    , (u'Region podbeskidzki', u'http://www.dziennikpolski24.pl/rss/feed/1791')
 
82
                    , (u'Region myślenicki', u'http://www.dziennikpolski24.pl/rss/feed/1800')
 
83
                    , (u'Autosalon', u'http://www.dziennikpolski24.pl/rss/feed/1294')
 
84
                    , (u'Kariera', u'http://www.dziennikpolski24.pl/rss/feed/1289')
 
85
                    , (u'Przegląd nieruchomości', u'http://www.dziennikpolski24.pl/rss/feed/1281')
 
86
                    , (u'Magnes', u'http://www.dziennikpolski24.pl/rss/feed/1283')
 
87
                    , (u'Magazyn Piątek', u'http://www.dziennikpolski24.pl/rss/feed/1293')
 
88
                    , (u'Pejzaż rodzinny', u'http://www.dziennikpolski24.pl/rss/feed/1274')
 
89
                    , (u'Podróże', u'http://www.dziennikpolski24.pl/rss/feed/1275')
 
90
                    , (u'Konsument', u'http://www.dziennikpolski24.pl/rss/feed/1288')
 
91
    ]
 
92
 
 
93
    def append_page(self, soup, appendtag):
 
94
        loop=False
 
95
        tag=soup.find('div', attrs = {'class':'paging'})
 
96
        if tag:
 
97
            loop=True
 
98
            li_nks=tag.findAll('li')
 
99
            appendtag.find('div', attrs = {'class':'paging'}).extract()
 
100
        if appendtag.find('ul', attrs = {'class':'menuf'}):
 
101
            appendtag.find('ul', attrs = {'class':'menuf'}).extract()
 
102
        while loop:
 
103
            loop=False
 
104
            for li_nk in li_nks:
 
105
                link_tag=li_nk.contents[0].contents[0].string
 
106
                if u'następna' in link_tag:
 
107
                    soup2=self.index_to_soup(self.INDEX+li_nk.contents[0]['href'])
 
108
                    if soup2.find('div', attrs = {'id':'showContent'}):
 
109
                        pagetext=soup2.find('div', attrs = {'id':'showContent'})
 
110
                        pos=len(appendtag.contents)
 
111
                        appendtag.insert(pos, pagetext)
 
112
                        if soup2.find('div', attrs = {'class':'rightbar'}):
 
113
                            pagecont=soup2.find('div', attrs = {'class':'rightbar'})
 
114
                            tag=pagecont.find('div', attrs = {'class':'paging'})
 
115
                            li_nks=tag.findAll('li')
 
116
                            loop=True
 
117
 
 
118
    def get_browser(self):
 
119
        br=BasicNewsRecipe.get_browser()
 
120
        if self.username is not None and self.password is not None:
 
121
            br.open('http://www.dziennikpolski24.pl/pl/moje-konto/950606-loguj.html')
 
122
            br.select_form(nr = 1)
 
123
            br["user_login[login]"]=self.username
 
124
            br['user_login[pass]']=self.password
 
125
            br.submit()
 
126
        return br
 
127
 
 
128
 
 
129
    def preprocess_html(self, soup):
 
130
        self.append_page(soup, soup.body)
 
131
        return soup
 
132