home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/env python
-
- __license__ = 'GPL v3'
- __copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>'
- '''
- jutarnji.hr
- '''
-
- import re
- from calibre.web.feeds.news import BasicNewsRecipe
- from calibre.ebooks.BeautifulSoup import Tag
-
- class Jutarnji(BasicNewsRecipe):
- title = 'Jutarnji'
- __author__ = 'Darko Miletic'
- description = 'Hrvatski portal'
- publisher = 'Jutarnji.hr'
- category = 'news, politics, Croatia'
- oldest_article = 2
- max_articles_per_feed = 100
- delay = 1
- language = 'hr'
-
- no_stylesheets = True
- use_embedded_content = False
- encoding = 'cp1250'
- lang = 'hr-HR'
- direction = 'ltr'
- extra_css = '@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} body{text-align: justify; font-family: serif1, serif} .article_description{font-family: sans1, sans-serif} .vijestnaslov{font-size: x-large; font-weight: bold}'
-
- conversion_options = {
- 'comment' : description
- , 'tags' : category
- , 'publisher' : publisher
- , 'language' : lang
- , 'pretty_print' : True
- }
-
-
- preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]
-
- remove_tags = [
- dict(name=['embed','hr','link','object'])
- ,dict(name='a', attrs={'class':'a11'})
- ]
-
- feeds = [
- (u'Naslovnica' , u'http://www.jutarnji.hr/rss' )
- ,(u'Sport' , u'http://www.jutarnji.hr/sport/rss' )
- ,(u'Jutarnji2' , u'http://www.jutarnji.hr/j2/rss' )
- ,(u'Kultura' , u'http://www.jutarnji.hr/kultura/rss' )
- ,(u'Spektakli' , u'http://www.jutarnji.hr/spektakli/rss' )
- ,(u'Dom i nekretnine', u'http://www.jutarnji.hr/nekretnine/rss')
- ,(u'Uhvati ritam' , u'http://www.jutarnji.hr/kalendar/rss' )
- ]
-
- def print_version(self, url):
- main, split, rest = url.partition('.jl')
- rmain, rsplit, rrest = main.rpartition(',')
- return 'http://www.jutarnji.hr/ispis_clanka.jl?artid=' + rrest
-
- def preprocess_html(self, soup):
- soup.html['lang'] = self.lang
- soup.html['dir' ] = self.direction
-
- attribs = [ 'style','font','valign'
- ,'colspan','width','height'
- ,'rowspan','summary','align'
- ,'cellspacing','cellpadding'
- ,'frames','rules','border'
- ]
- for item in soup.body.findAll(name=['table','td','tr','th','caption','thead','tfoot','tbody','colgroup','col']):
- item.name = 'div'
- for attrib in attribs:
- if item.has_key(attrib):
- del item[attrib]
-
- mlang = Tag(soup,'meta',[("http-equiv","Content-Language"),("content",self.lang)])
- mcharset = Tag(soup,'meta',[("http-equiv","Content-Type"),("content","text/html; charset=UTF-8")])
- soup.head.insert(0,mlang)
- soup.head.insert(1,mcharset)
- return self.adeify_images(soup)
-
-