From 0779e8c3a0421b38a3f7a6e18b86e5106128ae87 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 25 Apr 2010 21:22:00 -0400 Subject: [PATCH 1/5] ... --- src/calibre/devices/kindle/driver.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calibre/devices/kindle/driver.py b/src/calibre/devices/kindle/driver.py index a13f879b87..96530e2801 100644 --- a/src/calibre/devices/kindle/driver.py +++ b/src/calibre/devices/kindle/driver.py @@ -63,6 +63,7 @@ class KINDLE(USBMS): def filename_callback(self, fname, mi): if fname.startswith('.'): return fname[1:] + return fname def get_annotations(self, path_map): MBP_FORMATS = [u'azw', u'mobi', u'prc', u'txt'] From e4a32b34228674be1b7803d471f937202d1777d2 Mon Sep 17 00:00:00 2001 From: John Schember Date: Tue, 4 May 2010 18:02:47 -0400 Subject: [PATCH 2/5] Fix bug #5455: support stupid app that can't mark palmdoc compression properly. --- src/calibre/ebooks/pdb/palmdoc/reader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/ebooks/pdb/palmdoc/reader.py b/src/calibre/ebooks/pdb/palmdoc/reader.py index ea7e6bbc2b..52b8d1361f 100644 --- a/src/calibre/ebooks/pdb/palmdoc/reader.py +++ b/src/calibre/ebooks/pdb/palmdoc/reader.py @@ -49,7 +49,7 @@ class Reader(FormatReader): def decompress_text(self, number): if self.header_record.compression == 1: return self.section_data(number).decode('cp1252' if self.encoding is None else self.encoding) - if self.header_record.compression == 2: + if self.header_record.compression == 2 or self.header_record.compression == 258: from calibre.ebooks.compression.palmdoc import decompress_doc return decompress_doc(self.section_data(number)).decode('cp1252' if self.encoding is None else self.encoding, 'replace') return '' From e81da7d648029b6064d1a4e6670f02271be449d1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 4 May 2010 19:51:50 -0600 Subject: [PATCH 3/5] Ekot and Fria Tidningen by Joakim Lindskog --- resources/recipes/ekot.recipe | 39 +++++++++++++++++++++ resources/recipes/fria.recipe | 66 +++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 resources/recipes/ekot.recipe create mode 100644 resources/recipes/fria.recipe diff --git a/resources/recipes/ekot.recipe b/resources/recipes/ekot.recipe new file mode 100644 index 0000000000..ebae10ebba --- /dev/null +++ b/resources/recipes/ekot.recipe @@ -0,0 +1,39 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class Ekot_SE(BasicNewsRecipe): + title = 'Ekot' + __author__ = 'Joakim Lindskog' + description = 'Nyheter fr\xc3\xa5n Ekot' + publisher = 'Ekot' + category = 'news, politics, Sweden' + oldest_article = 7 + delay = 1 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'utf-8' + language = 'sv' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + keep_only_tags = [dict(name='h1', attrs={'class':'newsH2'}), + dict(name='div', attrs={'class':'articleTop'}), + dict(name='div', attrs={'class':'newsIntro'}), + dict(name='div', attrs={'class':'newsText'})] + remove_tags = [ + dict(name=['object','link','base']) + ,dict(name='span',attrs={'class':'relLink'}) + ] + + feeds = [(u'Ekot', u'http://api.sr.se/api/rssfeed/rssfeed.aspx?rssfeed=83'), + (u'Utrikes', u'http://api.sr.se/api/rssfeed/rssfeed.aspx?rssfeed=3304'), + (u'Radiosporten', u'http://api.sr.se/api/rssfeed/rssfeed.aspx?rssfeed=179')] + + def print_version(self, url): + return url.replace('http://sverigesradio.se/cgi-bin/ekot/artikel.asp', + 'http://sverigesradio.se/cgi-bin/isidorpub/PrinterFriendlyArticle.asp')+'&ProgramID=83' diff --git a/resources/recipes/fria.recipe b/resources/recipes/fria.recipe new file mode 100644 index 0000000000..cedbdcbb1e --- /dev/null +++ b/resources/recipes/fria.recipe @@ -0,0 +1,66 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class FriaTidningen_SE(BasicNewsRecipe): + title = u'Fria Tidningen' + __author__ = 'Joakim Lindskog' + description = 'Nyheter fr\xc3\xa5n Fria Tidningen' + publisher = 'Fria Tidningen' + category = 'news, politics, Sweden' + oldest_article = 7 + delay = 1 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'utf-8' + language = 'sv' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + keep_only_tags = [dict(name='div', attrs={'id':'content-area'})] + remove_tags_before = dict(name='div', attrs={'id':'content-area'}) + remove_tags_after = dict(name='div',attrs={'id':'byline'}) + remove_tags = [ + dict(name=['object','link','base']), + dict(name='div', attrs={'id':'comments'}), + dict(name='div', attrs={'id':'block-block-21'}), + dict(name='div', attrs={'id':'block-block-22'}), + dict(name='div', attrs={'id':'block-block-23'}), + dict(name='div', attrs={'id':'block-block-24'}), + dict(name='div', attrs={'id':'block-block-25'}), + dict(name='div', attrs={'id':'block-block-26'}), + dict(name='div', attrs={'id':'block-block-27'}), + dict(name='div', attrs={'id':'block-block-28'}), + dict(name='div', attrs={'id':'block-block-29'}), + dict(name='div', attrs={'id':'block-block-30'}), + dict(name='div', attrs={'id':'block-block-40'}) + ] + + feeds = [(u'Allt', u'http://www.fria.nu/feed'), + (u'Nyheter', u'http://www.fria.nu/taxonomy/term/13/feed/feed'), + (u'Inrikes', u'http://www.fria.nu/taxonomy/term/14/0/feed'), + (u'Utrikes', u'http://www.fria.nu/taxonomy/term/15/0/feed'), + (u'Ekonomi', u'http://www.fria.nu/taxonomy/term/27047/0/feed'), + (u'Opinion', u'http://www.fria.nu/taxonomy/term/22/0/feed'), + (u'Inledaren', u'http://www.fria.nu/taxonomy/term/24/0/feed'), + (u'Argument', u'http://www.fria.nu/taxonomy/term/23/0/feed'), + (u'Synpunkten', u'http://www.fria.nu/taxonomy/term/26/0/feed'), + (u'Debatt', u'http://www.fria.nu/taxonomy/term/25/0/feed'), + (u'Kultur', u'http://www.fria.nu/taxonomy/term/19/0/feed'), + (u'Kulturnyheter', u'http://www.fria.nu/taxonomy/term/24534/0/feed'), + (u'Recensioner', u'http://www.fria.nu/taxonomy/term/24535/0/feed'), + (u'BAK', u'http://www.fria.nu/taxonomy/term/27/0/feed'), + (u'Sport & H\xc3\xa4lsa' u'http://www.fria.nu/taxonomy/term/27215/0/feed'), + (u'Sport', u'http://www.fria.nu/taxonomy/term/20/0/feed'), + (u'H\xc3\xa4lsa', u'http://www.fria.nu/taxonomy/term/21/0/feed'), + (u'F\xc3\xb6rdjupning', u'http://www.fria.nu/taxonomy/term/24994/0/feed'), + (u'Fokus', u'http://www.fria.nu/taxonomy/term/24864/0/feed'), + (u'Samtal', u'http://www.fria.nu/taxonomy/term/28/0/feed'), + (u'Stockholm', u'http://www.fria.nu/taxonomy/term/122/0/feed'), + (u'G\xc3\xb6teborg', u'http://www.fria.nu/taxonomy/term/73/0/feed'), + (u'Uppsala', u'http://www.fria.nu/taxonomy/term/27324/0/feed'), + (u'Malm\xc3\xb6', u'http://www.fria.nu/taxonomy/term/28031/0/feed')] From d31f421416671437413529342aec5c53c58bfec3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 5 May 2010 08:37:09 -0600 Subject: [PATCH 4/5] Arbetaren by Joakim Lindskog --- resources/recipes/arbetaren.recipe | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 resources/recipes/arbetaren.recipe diff --git a/resources/recipes/arbetaren.recipe b/resources/recipes/arbetaren.recipe new file mode 100644 index 0000000000..d7dfaa2328 --- /dev/null +++ b/resources/recipes/arbetaren.recipe @@ -0,0 +1,34 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class Arbetaren_SE(BasicNewsRecipe): + title = u'Arbetaren' + __author__ = 'Joakim Lindskog' + description = 'Nyheter fr\xc3\xa5n Arbetaren' + publisher = 'Arbetaren' + category = 'news, politics, socialism, Sweden' + oldest_article = 7 + delay = 1 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'utf-8' + language = 'sv' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + keep_only_tags = [dict(name='div', attrs={'id':'article'})] + remove_tags_before = dict(name='div', attrs={'id':'article'}) + remove_tags_after = dict(name='p',attrs={'id':'byline'}) + remove_tags = [ + dict(name=['object','link','base']), + dict(name='p', attrs={'class':'print'}), + dict(name='a', attrs={'class':'addthis_button_compact'}), + dict(name='script') + ] + + feeds = [(u'Nyheter', u'http://www.arbetaren.se/rss/arbetaren.rss?rev=123')] From 6e9067c3f5829d8bcea21893b826fed194fca599 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 5 May 2010 08:56:19 -0600 Subject: [PATCH 5/5] ... --- src/calibre/manual/faq.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index 7c2f4ce49e..53d9477dc7 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -81,7 +81,7 @@ Device Integration What devices does |app| support? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/DX, Entourage Edge, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, Teclast K3, SpringDesign Alex, various Android phones and the iPhone. In addition, using the :guilabel:`Save to disk` function you can use it with any ebook reader that exports itself as a USB disk. +At the moment |app| has full support for the SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/DX, Entourage Edge, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, Teclast K3, SpringDesign Alex, various Android phones and the iPhone/iPad. In addition, using the :guilabel:`Save to disk` function you can use it with any ebook reader that exports itself as a USB disk. How can I help get my device supported in |app|? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~