mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge from custcol trunk
This commit is contained in:
commit
d29cfd266f
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
__license__ = 'GPL v3'
|
||||
__author__ = 'Lorenzo Vigentini'
|
||||
__author__ = 'Lorenzo Vigentini, Gabriele Marini'
|
||||
__copyright__ = '2009, Lorenzo Vigentini <l.vigentini at gmail.com>'
|
||||
__version__ = 'v1.02'
|
||||
__date__ = '10, January 2010'
|
||||
@ -10,17 +10,17 @@ __description__ = 'Italian weekly magazine'
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
class laGazzetta(BasicNewsRecipe):
|
||||
__author__ = 'Lorenzo Vigentini'
|
||||
class Espresso(BasicNewsRecipe):
|
||||
__author__ = 'Lorenzo Vigentini, Gabriele Marini'
|
||||
description = 'Italian weekly magazine'
|
||||
|
||||
cover_url = 'http://espresso.repubblica.it/images/logo_espresso.gif'
|
||||
title = 'l Espresso '
|
||||
publisher = 'Gruppo editoriale lEspresso'
|
||||
title = 'L\'Espresso '
|
||||
publisher = 'Gruppo editoriale L\'Espresso'
|
||||
category = 'News, politics, culture, economy, general interest'
|
||||
|
||||
language = 'it'
|
||||
encoding = 'cp1252'
|
||||
# encoding = 'cp1252'
|
||||
timefmt = '[%a, %d %b, %Y]'
|
||||
|
||||
oldest_article = 16
|
||||
@ -33,35 +33,45 @@ class laGazzetta(BasicNewsRecipe):
|
||||
|
||||
|
||||
feeds = [
|
||||
(u'Espresso Homepage', u'http://kpm.data.kataweb.it/kpm3eolx/rss/home'),
|
||||
(u'Espresso Local', u'http://kpm.data.kataweb.it/kpm3eolx/rss/local'),
|
||||
(u'Espresso Style & Design', u'http://kpm.data.kataweb.it/kpm3eolx/rss/style_design'),
|
||||
(u'Espresso Opinioni', u'http://kpm.data.kataweb.it/kpm3eolx/rss/opinioni'),
|
||||
(u'Espresso Rubriche', u'http://kpm.data.kataweb.it/kpm3eolx/rss/rubriche'),
|
||||
(u'Espresso Limes', u'http://temi.repubblica.it/limes/feed/')
|
||||
(u'Homepage', u'http://kpm.data.kataweb.it/kpm3eolx/rss/home'),
|
||||
(u'Local', u'http://kpm.data.kataweb.it/kpm3eolx/rss/local'),
|
||||
(u'Style & Design', u'http://kpm.data.kataweb.it/kpm3eolx/rss/style_design'),
|
||||
(u'Opinioni', u'http://kpm.data.kataweb.it/kpm3eolx/rss/opinioni'),
|
||||
(u'Rubriche', u'http://kpm.data.kataweb.it/kpm3eolx/rss/rubriche'),
|
||||
(u'Limes', u'http://temi.repubblica.it/limes/feed/'),
|
||||
(u'Chiesa: HomePage', u'http://data.kataweb.it/rss/chiesa/homepage/it'),
|
||||
(u'Chiesa: Speciali e Focus', u'http://data.kataweb.it/rss/chiesa/speciali_e_focus/it')
|
||||
]
|
||||
|
||||
|
||||
def print_version(self,url):
|
||||
print url[7:25]
|
||||
if url[7:25] == 'temi.repubblica.it':
|
||||
return url + '/?printpage=undefined'
|
||||
elif url[7:25] == 'www.chiesa.espress':
|
||||
return url
|
||||
return url + '/&print=true'
|
||||
|
||||
|
||||
keep_only_tags = [
|
||||
dict(name='div', attrs={'class':['testo','copertina','occhiello','firma','didascalia','content-second-right','detail-articles','titolo-local','generic-articles']}),
|
||||
dict(name='div', attrs={'class':['generic-articles','summary','detail-articles']}),
|
||||
dict(name='div', attrs={'id':'content-second-right'})
|
||||
dict(name='div', attrs={'id':['content-second-right','content2']})
|
||||
]
|
||||
|
||||
remove_tags = [
|
||||
dict(name='div',attrs={'class':['servizi','aggiungi','label-web','bottom-mobile','box-abbonamenti','box-cerca','big','little','stampaweb']}),
|
||||
dict(name='div',attrs={'id':['topheader','header','navigation-new','navigation','content-second-left']}),
|
||||
dict(name='div',attrs={'id':['topheader','header','navigation-new','navigation','content-second-left','menutext']}),
|
||||
dict(name='ul',attrs={'id':'user-utility'}),
|
||||
dict(name=['script','noscript','iframe'])
|
||||
]
|
||||
extra_css = '''
|
||||
h1 {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:20px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:18px;}
|
||||
h2 {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:18px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:16px; }
|
||||
h3 {color:#333333;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px;}
|
||||
h4 {color:#333333; font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; }
|
||||
h5 {color:#333333; font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; text-transform:uppercase;}
|
||||
.firma {color:#333333;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:italic; font-variant:normal; font-weight:bold; line-height:15px; text-decoration:none;}
|
||||
.testo {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:10px;}
|
||||
'''
|
||||
# extra_css = '''
|
||||
# h1 {font-family:Times New Roman,"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:24px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:18px;}
|
||||
# h2 {font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:18px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:16px; }
|
||||
# h3 {color:#333333;font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px;}
|
||||
# h4 {color:#333333; font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif;font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; }
|
||||
# h5 {color:#333333; font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; text-transform:uppercase;}
|
||||
# .firma {color:#333333;font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif;font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:italic; font-variant:normal; font-weight:bold; line-height:15px; text-decoration:none;}
|
||||
# .testo {font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:10px;}
|
||||
# '''
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env python
|
||||
__license__ = 'GPL v3'
|
||||
__author__ = 'Lorenzo Vigentini, based on Darko Miletic'
|
||||
__author__ = 'Lorenzo Vigentini, based on Darko Miletic, Gabriele Marini'
|
||||
__copyright__ = '2009, Darko Miletic <darko.miletic at gmail.com>, Lorenzo Vigentini <l.vigentini at gmail.com>'
|
||||
description = 'Italian daily newspaper - v1.01 (04, January 2010)'
|
||||
description = 'Italian daily newspaper - v1.01 (04, January 2010); 16.05.2010 new version'
|
||||
|
||||
'''
|
||||
http://www.repubblica.it/
|
||||
@ -11,7 +11,7 @@ http://www.repubblica.it/
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
class LaRepubblica(BasicNewsRecipe):
|
||||
author = 'Lorenzo Vigentini, based on Darko Miletic'
|
||||
__author__ = 'Lorenzo Vigentini, Gabriele Marini'
|
||||
description = 'Italian daily newspaper'
|
||||
|
||||
cover_url = 'http://www.repubblica.it/images/homepage/la_repubblica_logo.gif'
|
||||
@ -36,7 +36,8 @@ class LaRepubblica(BasicNewsRecipe):
|
||||
|
||||
keep_only_tags = [dict(name='div', attrs={'class':'articolo'}),
|
||||
dict(name='div', attrs={'class':'body-text'}),
|
||||
dict(name='div', attrs={'class':'page-content'}),
|
||||
# dict(name='div', attrs={'class':'page-content'}),
|
||||
dict(name='p', attrs={'class':'disclaimer clearfix'}),
|
||||
dict(name='div', attrs={'id':'contA'})
|
||||
]
|
||||
|
||||
@ -47,11 +48,9 @@ class LaRepubblica(BasicNewsRecipe):
|
||||
dict(name='div', attrs={'class':'bottom-mobile'}),
|
||||
dict(name='div', attrs={'id':['rssdiv','blocco']}),
|
||||
dict(name='div', attrs={'class':'utility'}),
|
||||
dict(name='div', attrs={'class':'generalbox'})
|
||||
dict(name='div', attrs={'class':'generalbox'}),
|
||||
dict(name='ul', attrs={'id':'hystory'})
|
||||
]
|
||||
remove_tags_after = [
|
||||
dict(name='div',attrs={'id':'ugc_linkUpload'})
|
||||
]
|
||||
|
||||
feeds = [
|
||||
(u'Rilievo', u'http://www.repubblica.it/rss/homepage/rss2.0.xml'),
|
||||
|
@ -4,7 +4,7 @@ __author__ = 'Lorenzo Vigentini'
|
||||
__copyright__ = '2009, Lorenzo Vigentini <l.vigentini at gmail.com>'
|
||||
__version__ = 'v1.01'
|
||||
__date__ = '10, January 2010'
|
||||
__description__ = 'Monthly Italian edition of Scientific American'
|
||||
__description__ = 'Monthly Italian edition of Scientific American, 16.05.2010 new version'
|
||||
|
||||
'''
|
||||
http://lescienze.espresso.repubblica.it/
|
||||
@ -13,22 +13,22 @@ http://lescienze.espresso.repubblica.it/
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
class leScienze(BasicNewsRecipe):
|
||||
author = 'Lorenzo Vigentini'
|
||||
__author__ = 'Lorenzo Vigentini, Gabriele Marini'
|
||||
description = 'Monthly Italian edition of Scientific American'
|
||||
|
||||
cover_url = 'http://lescienze.espresso.repubblica.it/images/logo_lescienze.gif'
|
||||
title = 'le Scienze'
|
||||
publisher = 'Gruppo editoriale lEspresso'
|
||||
publisher = 'Gruppo editoriale L\'Espresso'
|
||||
category = 'Science, general interest'
|
||||
|
||||
language = 'it'
|
||||
encoding = 'cp1252'
|
||||
# encoding = 'cp1252'
|
||||
timefmt = '[%a, %d %b, %Y]'
|
||||
|
||||
oldest_article = 31
|
||||
max_articles_per_feed = 20
|
||||
oldest_article = 100
|
||||
max_articles_per_feed = 100
|
||||
use_embedded_content = False
|
||||
recursion = 10
|
||||
recursion = 20
|
||||
|
||||
remove_javascript = True
|
||||
no_stylesheets = True
|
||||
@ -46,6 +46,8 @@ class leScienze(BasicNewsRecipe):
|
||||
remove_tags_after = [dict(name='div',attrs={'class':'box-commenti'})]
|
||||
|
||||
feeds = [
|
||||
|
||||
(u'Home', u'http://data.kataweb.it/rss/scienze'),
|
||||
(u'Antropologia', u'http://data.kataweb.it/rss/scienze/antropologia'),
|
||||
(u'Archeologia', u'http://data.kataweb.it/rss/scienze/archeologia'),
|
||||
(u'Arte e Musica', u'http://data.kataweb.it/rss/scienze/arte_e_musica'),
|
||||
@ -72,18 +74,3 @@ class leScienze(BasicNewsRecipe):
|
||||
(u'Storia della scienza', u'http://data.kataweb.it/rss/scienze/storia_della_scienza')
|
||||
]
|
||||
|
||||
extra_css = '''
|
||||
h1 {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:20px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:18px;}
|
||||
h2 {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:18px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:16px; }
|
||||
h3 {color:#333333;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px;}
|
||||
h4 {color:#333333; font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; }
|
||||
h5 {color:#333333; font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; text-transform:uppercase;}
|
||||
.occhiello {color:#666666;display:block;font-family:"Trebuchet MS",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:15px;}
|
||||
.titolo {font-weight:bold;}
|
||||
.label {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:12px;font-size-adjust:none;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:bold;height:15px;line-height:15px;text-transform:uppercase;}
|
||||
.firma {color:#333333;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:italic; font-variant:normal; font-weight:bold; line-height:15px; text-decoration:none;}
|
||||
.testo {font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:10px;}
|
||||
'''
|
||||
|
||||
|
||||
|
||||
|
56
resources/recipes/libero.recipe
Normal file
56
resources/recipes/libero.recipe
Normal file
@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python
|
||||
__license__ = 'GPL v3'
|
||||
__author__ = 'Gabriele Marini, based on Darko Miletic'
|
||||
__copyright__ = '2009-2010, Darko Miletic <darko.miletic at gmail.com>'
|
||||
description = 'Italian daily newspaper - 13-05-2010'
|
||||
|
||||
'''
|
||||
http://www.libero-news.it/
|
||||
'''
|
||||
|
||||
from calibre.web.feeds.news import BasicNewsRecipe
|
||||
|
||||
class LiberoNews(BasicNewsRecipe):
|
||||
__author__ = 'Marini Gabriele'
|
||||
description = 'Italian daily newspaper'
|
||||
|
||||
cover_url = 'http://www.ilgiornale.it/img_v1/logo.gif'
|
||||
title = u'Libero '
|
||||
publisher = 'EDITORIALE LIBERO s.r.l 2006'
|
||||
category = 'News, politics, culture, economy, general interest'
|
||||
|
||||
language = 'it'
|
||||
timefmt = '[%a, %d %b, %Y]'
|
||||
|
||||
oldest_article = 7
|
||||
max_articles_per_feed = 50
|
||||
use_embedded_content = False
|
||||
recursion = 100
|
||||
|
||||
no_stylesheets = True
|
||||
conversion_options = {'linearize_tables':True}
|
||||
remove_javascript = True
|
||||
|
||||
keep_only_tags = [
|
||||
dict(name='div', attrs={'class':'Articolo'})
|
||||
]
|
||||
remove_tags = [
|
||||
dict(name='div', attrs={'class':['CommentaFoto','Priva2']}),
|
||||
dict(name='div', attrs={'id':['commentigenerale']})
|
||||
]
|
||||
feeds = [
|
||||
(u'Politica', u'http://www.libero-news.it/rss.jsp?sezione=14'),
|
||||
(u'Italia', u'http://www.libero-news.it/rss.jsp?sezione=15'),
|
||||
(u'Esteri', u'http://www.libero-news.it/rss.jsp?sezione=16'),
|
||||
(u'Economia', u'http://www.libero-news.it/rss.jsp?sezione=17'),
|
||||
(u'Cultura', u'http://www.libero-news.it/rss.jsp?sezione=18'),
|
||||
(u'Scienze', u'http://www.libero-news.it/rss.jsp?sezione=19'),
|
||||
(u'Tecnologia', u'http://www.libero-news.it/rss.jsp?sezione=20'),
|
||||
(u'LifeStyle', u'http://www.libero-news.it/rss.jsp?sezione=22'),
|
||||
(u'Sport', u'http://www.libero-news.it/rss.jsp?sezione=23'),
|
||||
(u'Costume e Società', u' http://www.libero-news.it/rss.jsp?sezione=24'),
|
||||
(u'Milano', u'http://www.libero-news.it/rss.jsp?sezione=26'),
|
||||
(u'Roma', u'http://www.libero-news.it/rss.jsp?sezione=27'),
|
||||
(u'Alimentazione', u'http://www.libero-news.it/rss.jsp?sezione=29')
|
||||
]
|
||||
|
@ -245,6 +245,8 @@ class iPadOutput(OutputProfile):
|
||||
|
||||
name = 'iPad'
|
||||
short_name = 'ipad'
|
||||
description = _('Intended for the iPad and similar devices with a '
|
||||
'resolution of 768x1024')
|
||||
screen_size = (768, 1024)
|
||||
comic_screen_size = (768, 1024)
|
||||
dpi = 132.0
|
||||
|
@ -15,6 +15,7 @@ from calibre.ptempfile import PersistentTemporaryDirectory
|
||||
from calibre.utils.date import parse_date
|
||||
from calibre.utils.zipfile import ZipFile
|
||||
from calibre import extract, walk
|
||||
from calibre.constants import __version__
|
||||
|
||||
DEBUG_README=u'''
|
||||
This debug directory contains snapshots of the e-book as it passes through the
|
||||
@ -711,6 +712,7 @@ OptionRecommendation(name='timestamp',
|
||||
if self.opts.verbose > 1:
|
||||
self.log.debug('Resolved conversion options')
|
||||
try:
|
||||
self.log.debug('calibre version:', __version__)
|
||||
self.log.debug(pprint.pformat(self.opts.__dict__))
|
||||
except:
|
||||
self.log.exception('Failed to get resolved conversion options')
|
||||
|
@ -171,6 +171,16 @@ class ResultCache(SearchQueryParser):
|
||||
for id in self._map_filtered:
|
||||
yield self._data[id]
|
||||
|
||||
def iterall(self):
|
||||
for x in self._data:
|
||||
if x is not None:
|
||||
yield x
|
||||
|
||||
def iterallids(self):
|
||||
idx = self.FIELD_MAP['id']
|
||||
for x in self.iterall():
|
||||
yield x[idx]
|
||||
|
||||
def universal_set(self):
|
||||
return set([i[0] for i in self._data if i is not None])
|
||||
|
||||
|
@ -125,7 +125,7 @@ With recent reader iterations, SONY, in all its wisdom has decided to try to for
|
||||
use their software. If you install it, it auto-launches whenever you connect the reader.
|
||||
If you don't want to uninstall it altogether, there are a couple of tricks you can use. The
|
||||
simplest is to simply re-name the executable file that launches the library program. More detail
|
||||
`here <http://www.mobileread.com/forums/showthread.php?t=65809>`_.
|
||||
`in the forums <http://www.mobileread.com/forums/showthread.php?t=65809>`_.
|
||||
|
||||
Can I use the collections feature of the SONY reader?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -262,7 +262,7 @@ I want |app| to download news from my favorite news website.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
If you are reasonably proficient with computers, you can teach |app| to download news from any website of your choosing. To learn how to do this see :ref:`news`.
|
||||
|
||||
Otherwise, you can register a request for a particular news site by adding a comment `here <http://bugs.calibre-ebook.com/ticket/405>`_.
|
||||
Otherwise, you can register a request for a particular news site by adding a comment `to this ticket <http://bugs.calibre-ebook.com/ticket/405>`_.
|
||||
|
||||
Can I use web2disk to download an arbitrary website?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -335,6 +335,6 @@ You have two choices:
|
||||
|
||||
Can I include |app| on a CD to be distributed with my product/magazine?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|app| is licensed under the GNU General Public License v3 (an open source license). This means that you are free to redistribute |app| as long as you make the source code available. So if you want to put |app| on a CD with your product, you must also put the |app| source code on the CD. The source code is available for download `here <http://code.google.com/p/calibre-ebook/downloads/list>`_.
|
||||
|app| is licensed under the GNU General Public License v3 (an open source license). This means that you are free to redistribute |app| as long as you make the source code available. So if you want to put |app| on a CD with your product, you must also put the |app| source code on the CD. The source code is available for download `from googlecode <http://code.google.com/p/calibre-ebook/downloads/list>`_.
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user