Update Pecat

Fixes #1252285 [Updated recipe for serbian magazine Pecat](https://bugs.launchpad.net/calibre/+bug/1252285)
This commit is contained in:
Kovid Goyal 2013-11-19 08:46:33 +05:30
parent c20693d3d5
commit bc07ab305b

View File

@ -1,28 +1,30 @@
# vim:fileencoding=utf-8
__license__ = 'GPL v3'
__copyright__ = '2011, Darko Miletic <darko.miletic at gmail.com>'
__copyright__ = '2011-2013, Darko Miletic <darko.miletic at gmail.com>'
'''
www.pecat.co.rs
'''
import re
from calibre.web.feeds.news import BasicNewsRecipe
class Pecat_rs(BasicNewsRecipe):
title = 'Pecat'
title = u'Печат'
__author__ = 'Darko Miletic'
description = 'Internet portal slobodne Srbije'
oldest_article = 15
description = u'Интернет портал слободне Србије'
publisher = u'NAŠ PEČAT A.D. BEOGRAD'
oldest_article = 7
max_articles_per_feed = 100
language = 'sr'
encoding = 'utf-8'
no_stylesheets = True
use_embedded_content = True
masthead_url = 'http://www.pecat.co.rs/wp-content/themes/zenko-v1/images/logo.jpg'
LOGIN = 'http://www.pecat.co.rs/'
remove_empty_feeds = True
ignore_duplicate_articles = {'url'}
needs_subscription = 'optional'
publication_type = 'magazine'
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{font-family: Arial,Helvetica,sans1,sans-serif}
img{display: block; margin-bottom: 1em; margin-top: 1em}
p{display: block; margin-bottom: 1em; margin-top: 1em}
@ -35,38 +37,36 @@ class Pecat_rs(BasicNewsRecipe):
, 'language' : language
}
preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')]
def get_browser(self):
br = BasicNewsRecipe.get_browser(self)
if self.username is not None and self.password is not None:
br.open(self.LOGIN)
br.select_form(name='loginform')
br['log'] = self.username
br['pwd'] = self.password
br.submit()
return br
feeds = [(u'Clanci', u'http://www.pecat.co.rs/feed/')]
def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
for item in soup.findAll('a'):
limg = item.find('img')
if item.string is not None:
str = item.string
item.replaceWith(str)
else:
if limg:
limg.extract()
item.replaceWith(limg)
else:
str = self.tag_to_string(item)
item.replaceWith(str)
for item in soup.findAll('img'):
dad = item.findParent('p')
if dad:
mydad = dad.parent
myIndex = mydad.contents.index(dad)
item.extract()
mydad.insert(myIndex,item)
for item in soup.findAll('strong'):
dad = item.findParent('p')
if dad:
mydad = dad.parent
myIndex = mydad.contents.index(dad)
item.extract()
item.name='h4'
mydad.insert(myIndex,item)
return soup
feeds = [
(u'Уводник' , u'http://www.pecat.co.rs/category/uvodnik/feed/'),
(u'Интервју' , u'http://www.pecat.co.rs/category/intervju/feed/'),
(u'Друштво' , u'http://www.pecat.co.rs/category/drustvo/feed/'),
(u'Регион' , u'http://www.pecat.co.rs/category/region/feed/'),
(u'Свет' , u'http://www.pecat.co.rs/category/svet/feed/'),
(u'Колумне' , u'http://www.pecat.co.rs/category/kolumne/feed/'),
(u'Култура' , u'http://www.pecat.co.rs/category/kultura/feed/'),
(u'Документи', u'http://www.pecat.co.rs/category/dokumenti/feed/'),
(u'Репортаже', u'http://www.pecat.co.rs/category/reportaze/feed/'),
(u'Економија', u'http://www.pecat.co.rs/category/ekonomija/feed/'),
(u'Изјаве' , u'http://www.pecat.co.rs/category/izjave/feed/'),
(u'Преглед' , u'http://www.pecat.co.rs/category/pregled/feed/'),
(u'Сапутници', u'http://www.pecat.co.rs/category/saputnici/feed/'),
(u'Сатира' , u'http://www.pecat.co.rs/category/satira/feed/'),
(u'Спорт' , u'http://www.pecat.co.rs/category/sport/feed/'),
(u'Павле Ћосић', u'http://www.pecat.co.rs/category/agencijske-vesti-pavle-cosic/feed/'),
(u'ТВ Коментар', u'http://www.pecat.co.rs/category/tv-komentar/feed/'),
(u'Вести', u'http://www.pecat.co.rs/category/vesti/feed/'),
(u'Календар', u'http://www.pecat.co.rs/category/kalendar/feed/'),
(u'Други Пишу', u'http://www.pecat.co.rs/category/drugi-pisu/feed/'),
(u'Одбрана и безбедност', u'http://www.pecat.co.rs/category/odbrana-i-bezbednost/feed/')
]