home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_3685 < prev    next >
Encoding:
Text File  |  2010-06-15  |  5.5 KB  |  94 lines

  1. __license__   = 'GPL v3'
  2. __copyright__ = '2008-2010, Darko Miletic <darko.miletic at gmail.com>'
  3. '''
  4. danas.rs
  5. '''
  6.  
  7. import re
  8. from calibre.web.feeds.news import BasicNewsRecipe
  9.  
  10. class Danas(BasicNewsRecipe):
  11.     title                 = 'Danas'
  12.     __author__            = 'Darko Miletic'
  13.     description           = 'Dnevne novine sa vestima iz sveta, politike, ekonomije, kulture, sporta, Beograda, Novog Sada i cele Srbije.'
  14.     publisher             = 'Danas d.o.o.'
  15.     category              = 'news, politics, Serbia'
  16.     oldest_article        = 2
  17.     max_articles_per_feed = 100
  18.     no_stylesheets        = False
  19.     use_embedded_content  = False
  20.     encoding              = 'utf-8'
  21.     masthead_url          = 'http://www.danas.rs/images/basic/danas.gif'
  22.     language              = 'sr'
  23.     publication_type      = 'newspaper'
  24.     remove_empty_feeds    = True
  25.     extra_css             = """ @font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
  26.                                 @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)}
  27.                                 .article_description,body,.lokacija{font-family: Tahoma,Arial,Helvetica,sans1,sans-serif}
  28.                                 .nadNaslov,h1,.preamble{font-family: Georgia,"Times New Roman",Times,serif1,serif}
  29.                                 .antrfileText{border-left: 2px solid #999999; margin-left: 0.8em; padding-left: 1.2em;
  30.                                 margin-bottom: 0; margin-top: 0} h2,.datum,.lokacija,.autor{font-size: small}
  31.                                 .antrfileNaslov{border-left: 2px solid #999999; margin-left: 0.8em; padding-left: 1.2em;
  32.                                 font-weight:bold; margin-bottom: 0; margin-top: 0} img{margin-bottom: 0.8em} """
  33.  
  34.     conversion_options = {
  35.                           'comment'          : description
  36.                         , 'tags'             : category
  37.                         , 'publisher'        : publisher
  38.                         , 'language'         : language
  39.                         }
  40.  
  41.     preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]
  42.  
  43.     keep_only_tags     = [dict(name='div', attrs={'id':'left'})]
  44.     remove_tags = [
  45.                      dict(name='div', attrs={'class':['width_1_4','metaClanka','baner']})
  46.                     ,dict(name='div', attrs={'id':'comments'})
  47.                     ,dict(name=['object','link','iframe'])
  48.                   ]
  49.  
  50.     feeds          = [
  51.                         (u'Politika'             , u'http://www.danas.rs/rss/rss.asp?column_id=27')
  52.                        ,(u'Hronika'              , u'http://www.danas.rs/rss/rss.asp?column_id=2' )
  53.                        ,(u'Drustvo'              , u'http://www.danas.rs/rss/rss.asp?column_id=24')
  54.                        ,(u'Dijalog'              , u'http://www.danas.rs/rss/rss.asp?column_id=1' )
  55.                        ,(u'Ekonomija'            , u'http://www.danas.rs/rss/rss.asp?column_id=6' )
  56.                        ,(u'Svet'                 , u'http://www.danas.rs/rss/rss.asp?column_id=25')
  57.                        ,(u'Srbija'               , u'http://www.danas.rs/rss/rss.asp?column_id=28')
  58.                        ,(u'Kultura'              , u'http://www.danas.rs/rss/rss.asp?column_id=5' )
  59.                        ,(u'Sport'                , u'http://www.danas.rs/rss/rss.asp?column_id=13')
  60.                        ,(u'Scena'                , u'http://www.danas.rs/rss/rss.asp?column_id=42')
  61.                        ,(u'Feljton'              , u'http://www.danas.rs/rss/rss.asp?column_id=19')
  62.                        ,(u'Periskop'             , u'http://www.danas.rs/rss/rss.asp?column_id=4' )
  63.                        ,(u'Famozno'              , u'http://www.danas.rs/rss/rss.asp?column_id=47')
  64.                        ,(u'Sluzbena beleska'     , u'http://www.danas.rs/rss/rss.asp?column_id=48')
  65.                        ,(u'Suocavanja'           , u'http://www.danas.rs/rss/rss.asp?column_id=49')
  66.                        ,(u'Moj Izbor'            , u'http://www.danas.rs/rss/rss.asp?column_id=50')
  67.                        ,(u'Direktno'             , u'http://www.danas.rs/rss/rss.asp?column_id=51')
  68.                        ,(u'I tome slicno'        , u'http://www.danas.rs/rss/rss.asp?column_id=52')
  69.                        ,(u'No longer and not yet', u'http://www.danas.rs/rss/rss.asp?column_id=53')
  70.                        ,(u'Resetovanje'          , u'http://www.danas.rs/rss/rss.asp?column_id=54')
  71.                        ,(u'Iza scene'            , u'http://www.danas.rs/rss/rss.asp?column_id=60')
  72.                        ,(u'Drustvoslovlje'       , u'http://www.danas.rs/rss/rss.asp?column_id=55')
  73.                        ,(u'Zvaka u pepeljari'    , u'http://www.danas.rs/rss/rss.asp?column_id=56')
  74.                        ,(u'Vostani Serbie'       , u'http://www.danas.rs/rss/rss.asp?column_id=57')
  75.                        ,(u'Med&Jad-a'            , u'http://www.danas.rs/rss/rss.asp?column_id=58')
  76.                        ,(u'Svetlosti pozornice'  , u'http://www.danas.rs/rss/rss.asp?column_id=59')
  77.                      ]
  78.  
  79.     def preprocess_html(self, soup):
  80.         for item in soup.findAll(style=True):
  81.             del item['style']
  82.         return self.adeify_images(soup)
  83.  
  84.     def print_version(self, url):
  85.         return url + '&action=print'
  86.  
  87.     def get_cover_url(self):
  88.         cover_url = None
  89.         soup = self.index_to_soup('http://www.danas.rs/')
  90.         for citem in soup.findAll('img'):
  91.             if citem['src'].endswith('naslovna.jpg'):
  92.                return 'http://www.danas.rs' + citem['src']
  93.         return cover_url
  94.