home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_3875 < prev    next >
Encoding:
Text File  |  2010-01-21  |  4.5 KB  |  80 lines

  1. #!/usr/bin/env  python
  2. __license__   = 'GPL v3'
  3. __author__    = 'Lorenzo Vigentini'
  4. __copyright__ = '2009, Lorenzo Vigentini <l.vigentini at gmail.com>'
  5. __version__     = 'v1.01'
  6. __date__        = '14, January 2010'
  7. __description__   = 'Canadian Paper '
  8.  
  9. '''
  10. http://www.ledevoir.com/
  11. '''
  12.  
  13. from calibre.web.feeds.news import BasicNewsRecipe
  14.  
  15. class ledevoir(BasicNewsRecipe):
  16.     author        = 'Lorenzo Vigentini'
  17.     description   = 'Canadian Paper'
  18.  
  19.     cover_url      = 'http://www.ledevoir.com/images/ul/graphiques/logo_devoir.gif'
  20.     title          = u'Le Devoir'
  21.     publisher      = 'leDevoir.com'
  22.     category       = 'News, finance, economy, politics'
  23.  
  24.     language       = 'fr'
  25.     encoding       = 'utf-8'
  26.     timefmt        = '[%a, %d %b, %Y]'
  27.  
  28.     max_articles_per_feed = 50
  29.     use_embedded_content  = False
  30.     recursion             = 10
  31.  
  32.     remove_javascript     = True
  33.     no_stylesheets        = True
  34.  
  35.     keep_only_tags  = [
  36.                         dict(name='div', attrs={'id':'article'}),
  37.                         dict(name='ul', attrs={'id':'ariane'})
  38.                     ]
  39.  
  40.     remove_tags     = [
  41.                         dict(name='div', attrs={'id':'dialog'}),
  42.                         dict(name='div', attrs={'class':['interesse_actions','reactions']}),
  43.                         dict(name='ul', attrs={'class':'mots_cles'}),
  44.                         dict(name='a', attrs={'class':'haut'}),
  45.                         dict(name='h5', attrs={'class':'interesse_actions'})
  46.                     ]
  47.  
  48.     feeds          = [
  49.                        (u'A la une', 'http://www.ledevoir.com/rss/manchettes.xml'),
  50.                        (u'Edition complete', 'http://feeds2.feedburner.com/fluxdudevoir'),
  51.                        (u'Opinions', 'http://www.ledevoir.com/rss/opinions.xml'),
  52.                        (u'Chroniques', 'http://www.ledevoir.com/rss/chroniques.xml'),
  53.                        (u'Politique', 'http://www.ledevoir.com/rss/section/politique.xml?id=51'),
  54.                        (u'International', 'http://www.ledevoir.com/rss/section/international.xml?id=76'),
  55.                        (u'Culture', 'http://www.ledevoir.com/rss/section/culture.xml?id=48'),
  56.                        (u'Environnement', 'http://www.ledevoir.com/rss/section/environnement.xml?id=78'),
  57.                        (u'Societe', 'http://www.ledevoir.com/rss/section/societe.xml?id=52'),
  58.                        (u'Economie', 'http://www.ledevoir.com/rss/section/economie.xml?id=49'),
  59.                        (u'Sports', 'http://www.ledevoir.com/rss/section/sports.xml?id=85'),
  60.                        (u'Loisirs', 'http://www.ledevoir.com/rss/section/loisirs.xml?id=50')
  61.                      ]
  62.  
  63.     extra_css = '''
  64.                 h1 {color:#1C1E7C;font-family:Times,Georgia,serif;font-size:1.85em;font-size-adjust:none;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:bold;line-height:1.2em;margin:0 0 5px;}
  65.                 h2 {color:#333333;font-family:Times,Georgia,serif;font-size:1.5em;font-size-adjust:none;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:normal;line-height:1.2em;margin:0 0 5px;}
  66.                 h3 {color:#4D4D4D;font-family:Arial,Helvetica,sans-serif; font-size:15px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px;}
  67.                 h4 {color:#333333; font-family:Arial,Helvetica,sans-serif;font-size:13px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; }
  68.                 h5 {color:#333333; font-family:Arial,Helvetica,sans-serif; font-size:11px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; text-transform:uppercase;}
  69.                 .specs {line-height:1em;margin:1px 0;}
  70.                 .specs span.auteur {font:0.85em/1.1em Arial, Verdana, sans-serif;color:#787878;}
  71.                 .specs span.auteur a,
  72.                 .specs span.auteur span {text-transform:uppercase;color:#787878;}
  73.                 .specs .date {font:0.85em/1.1em Arial, Verdana, sans-serif;color:#787878;}
  74.                 ul#ariane {list-style-type:none;margin:0;padding:5px 0 8px 0;font:0.85em/1.2em Arial, Verdana, sans-serif;color:#2E2E2E;border-bottom:10px solid #fff;}
  75.                 ul#ariane li {display:inline;}
  76.                 ul#ariane a {color:#2E2E2E;text-decoration:underline;}
  77.                 .credit {color:#787878;font-size:0.71em;line-height:1.1em;font-weight:bold;}
  78.                 .texte {font-size:1.15em;line-height:1.4em;margin-bottom:17px;}
  79.                 '''
  80.