From f79793ac1d5cf737ed8ab7ccdf469be7b8dbf9a2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 1 Mar 2009 15:24:15 -0800 Subject: [PATCH 01/10] New recipe for Newstimes by Darko Miletic --- src/calibre/web/feeds/recipes/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 6018af4918..1abe2c22f8 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -32,7 +32,7 @@ recipe_modules = ['recipe_' + r for r in ( 'hindu', 'cincinnati_enquirer', 'physics_world', 'pressonline', 'la_republica', 'physics_today', 'chicago_tribune', 'e_novine', 'al_jazeera', 'winsupersite', 'borba', 'courrierinternational', - 'lamujerdemivida', 'soldiers', 'theonion', + 'lamujerdemivida', 'soldiers', 'theonion', 'news_times', )] import re, imp, inspect, time, os From 5247233b4bf775e613e413dd01b53773f02af6ed Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 1 Mar 2009 15:25:21 -0800 Subject: [PATCH 02/10] IGN:... --- .../web/feeds/recipes/recipe_news_times.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/calibre/web/feeds/recipes/recipe_news_times.py diff --git a/src/calibre/web/feeds/recipes/recipe_news_times.py b/src/calibre/web/feeds/recipes/recipe_news_times.py new file mode 100644 index 0000000000..3fee33c028 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_news_times.py @@ -0,0 +1,28 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class NewsTimes(BasicNewsRecipe): + title = 'Newstimes' + __author__ = 'Darko Miletic' + description = 'news from USA' + language = _('English') + oldest_article = 1 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'utf-8' + remove_javascript = True + + keep_only_tags = [ + dict(name='h1', attrs={'id':'articleTitle'}) + ,dict(name='div', attrs={'id':['articleByline','articleDate','articleBody']}) + ] + remove_tags = [ + dict(name=['object','link']) + ,dict(name='div', attrs={'class':'articleEmbeddedAdBox'}) + ] + + + feeds = [ + (u'Latest news' , u'http://feeds.newstimes.com/mngi/rss/CustomRssServlet/3/201071.xml' ) + ] + From 8b18917435d8e32b51b3612dbee32c5cce6549e0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 1 Mar 2009 15:27:40 -0800 Subject: [PATCH 03/10] Fix calibre holding file handles on the Cybook, preventing it from being ejected --- src/calibre/ebooks/metadata/meta.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/calibre/ebooks/metadata/meta.py b/src/calibre/ebooks/metadata/meta.py index 1241238f26..43053a43b9 100644 --- a/src/calibre/ebooks/metadata/meta.py +++ b/src/calibre/ebooks/metadata/meta.py @@ -39,13 +39,13 @@ def metadata_from_formats(formats): return mi2 for path, ext in zip(formats, extensions): - stream = open(path, 'rb') - try: - mi.smart_update(get_metadata(stream, stream_type=ext, use_libprs_metadata=True)) - except: - continue - if getattr(mi, 'application_id', None) is not None: - return mi + with open(path, 'rb') as stream: + try: + mi.smart_update(get_metadata(stream, stream_type=ext, use_libprs_metadata=True)) + except: + continue + if getattr(mi, 'application_id', None) is not None: + return mi if not mi.title: mi.title = _('Unknown') From 440c02a202bfa3af464c9c6424a4e96ca7e1fbf9 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Mon, 2 Mar 2009 08:37:24 -0500 Subject: [PATCH 04/10] Fix #1933. Sanitize CSS clasnames for MSReader. --- src/calibre/ebooks/oeb/transforms/flatcss.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/ebooks/oeb/transforms/flatcss.py b/src/calibre/ebooks/oeb/transforms/flatcss.py index 63466ac551..6d15ca250a 100644 --- a/src/calibre/ebooks/oeb/transforms/flatcss.py +++ b/src/calibre/ebooks/oeb/transforms/flatcss.py @@ -219,7 +219,7 @@ class CSSFlattener(object): items.sort() css = u';\n'.join(u'%s: %s' % (key, val) for key, val in items) classes = node.get('class', None) or 'calibre' - klass = STRIPNUM.sub('', classes.split()[0]) + klass = STRIPNUM.sub('', classes.split()[0].replace('_', '')) if css in styles: match = styles[css] else: From 2a0cdbd555ae06b8bc4b2e0dd95e0e5583bd762d Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Mon, 2 Mar 2009 13:22:08 -0500 Subject: [PATCH 05/10] Implement support for LIT atoms. --- src/calibre/ebooks/lit/reader.py | 43 +++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/lit/reader.py b/src/calibre/ebooks/lit/reader.py index 407aedae1f..fd0853f38b 100644 --- a/src/calibre/ebooks/lit/reader.py +++ b/src/calibre/ebooks/lit/reader.py @@ -115,10 +115,12 @@ class UnBinary(object): OPEN_ANGLE_RE = re.compile(r'<<(?![!]--)') CLOSE_ANGLE_RE = re.compile(r'(?