diff --git a/Changelog.yaml b/Changelog.yaml index f4c5e25cb4..ebc2e5cad1 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -19,6 +19,61 @@ # new recipes: # - title: +- version: 0.9.6 + date: 2012-11-10 + + new features: + - title: "Experimental support for subsetting fonts" + description: "Subsetting a font means reducing the font to contain only the glyphs for the text actually present in the book. This can easily halve the size of the font. calibre can now do this for all embedded fonts during a conversion. Turn it on via the 'Subset all embedded fonts' option under the Look & Feel section of the conversion dialog. calibre can subset both TrueType and OpenType fonts. Note that this code is very new and likely has bugs, so please check the output if you turn on subsetting. The conversion log will have info about the subsetting operations." + type: major + + - title: "EPUB Input: Try to workaround EPUBs that have missing or damaged ZIP central directories. calibre should now be able to read/convert such an EPUB file, provided it does not suffer from further corruption." + + - title: "Allow using identifiers in save to disk templates." + tickets: [1074623] + + - title: "calibredb: Add an option to not notify the GUI" + + - title: "Catalogs: Fix long tags causing catalog generation to fail on windows. Add the ability to cross-reference authors, i.e. to relist the authors for a book with multiple authors separately." + tickets: [1074931] + + - title: "Edit metadata dialog: Add a clear tags button to remove all tags with a single click" + + - title: "Add search to the font family chooser dialog" + + bug fixes: + - title: "Windows: Fix a long standing bug in the device eject code that for some reason only manifested in 0.9.5." + tickets: [1075782] + + - title: "Get Books: Fix Amazon stores, Google Books store and libri.de" + + - title: "Kobo driver: More fixes for on device book matching, and list books as being on device even if the Kobo has not yet indexed them. Also some performance improvements." + tickets: [1069617] + + - title: "EPUB Output: Remove duplicate id and name attributes to eliminate pointless noise from the various epub check utilities" + + - title: "Ask for confirmation before removing plugins" + + - title: "Fix bulk convert queueing dialog becoming very long if any of the books have a very long title." + tickets: [1076191] + + - title: "Fix deleting custom column tags like data from the Tag browser not updating the last modified timestamp for affected books" + tickets: [1075476] + + - title: "When updating a previously broken plugin, do not show an error message because the previous version of the plugin cannot be loaded" + + - title: "Fix regression that broke the Template Editor" + + improved recipes: + - Various updated Polish recipes + - London Review of Books + - Yemen Times + + new recipes: + - title: "Various Polish news sources" + author: Artur Stachecki + + - version: 0.9.5 date: 2012-11-02 diff --git a/manual/faq.rst b/manual/faq.rst index b434927c04..739971c95c 100644 --- a/manual/faq.rst +++ b/manual/faq.rst @@ -721,8 +721,8 @@ You can switch |app| to using a backed up library folder by simply clicking the If you want to backup the |app| configuration/plugins, you have to backup the config directory. You can find this config directory via :guilabel:`Preferences->Miscellaneous`. Note that restoring configuration directories is not officially supported, but should work in most cases. Just copy the contents of the backup directory into the current configuration directory to restore. -How do I use purchased EPUB books with |app|? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +How do I use purchased EPUB books with |app| (or what do I do with .acsm files)? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Most purchased EPUB books have `DRM `_. This prevents |app| from opening them. You can still use |app| to store and transfer them to your ebook reader. First, you must authorize your reader on a windows machine with Adobe Digital Editions. Once this is done, EPUB books transferred with |app| will work fine on your reader. When you purchase an epub book from a website, you will get an ".acsm" file. This file should be opened with Adobe Digital Editions, which will then download the actual ".epub" ebook. The ebook file will be stored in the folder "My Digital Editions", from where you can add it to |app|. I am getting a "Permission Denied" error? diff --git a/recipes/autosport.recipe b/recipes/autosport.recipe index 0b642abe8f..df98125f25 100644 --- a/recipes/autosport.recipe +++ b/recipes/autosport.recipe @@ -8,7 +8,6 @@ www.autosport.com ''' from calibre.web.feeds.news import BasicNewsRecipe -import re class autosport(BasicNewsRecipe): title = u'Autosport' @@ -27,5 +26,5 @@ class autosport(BasicNewsRecipe): keep_only_tags.append(dict(name = 'td', attrs = {'class' : 'news_article_author'})) keep_only_tags.append(dict(name = 'td', attrs = {'class' : 'news_article_date'})) keep_only_tags.append(dict(name = 'p')) - - feeds = [(u'ALL NEWS', u'http://www.autosport.com/rss/allnews.xml')] \ No newline at end of file + + feeds = [(u'ALL NEWS', u'http://www.autosport.com/rss/allnews.xml')] diff --git a/recipes/blognexto.recipe b/recipes/blognexto.recipe index 76f413bb69..b5ced2cf50 100644 --- a/recipes/blognexto.recipe +++ b/recipes/blognexto.recipe @@ -1,5 +1,4 @@ from calibre.web.feeds.news import BasicNewsRecipe -import re class blognexto(BasicNewsRecipe): title = 'BLOG.NEXTO.pl' diff --git a/recipes/brewiarz.recipe b/recipes/brewiarz.recipe index 81f3dc93ae..5d16278b00 100644 --- a/recipes/brewiarz.recipe +++ b/recipes/brewiarz.recipe @@ -3,8 +3,7 @@ __license__ = 'GPL v3' from calibre.web.feeds.news import BasicNewsRecipe -import datetime -from calibre.ebooks.BeautifulSoup import BeautifulSoup, NavigableString, Tag +import datetime, re class brewiarz(BasicNewsRecipe): @@ -17,7 +16,7 @@ class brewiarz(BasicNewsRecipe): remove_javascript = True no_stylesheets = True publication_type = 'newspaper' - next_days = 1 + next_days = 1 def parse_index(self): dec2rom_dict = {"01": "i", "02": "ii", "03": "iii", "04": "iv", diff --git a/recipes/kerrang.recipe b/recipes/kerrang.recipe index e9db9d886e..bbd944eb62 100644 --- a/recipes/kerrang.recipe +++ b/recipes/kerrang.recipe @@ -3,13 +3,11 @@ __license__ = 'GPL v3' from calibre.web.feeds.news import BasicNewsRecipe -import re - class kerrang(BasicNewsRecipe): title = u'Kerrang!' __author__ = 'Artur Stachecki ' - language = 'en' + language = 'en_GB' description = u'UK-based magazine devoted to rock music published by Bauer Media Group' oldest_article = 7 masthead_url = 'http://images.kerrang.com/design/kerrang/kerrangsite/logo.gif' @@ -29,8 +27,8 @@ class kerrang(BasicNewsRecipe): feeds = [(u'News', u'http://www.kerrang.com/blog/rss.xml')] def preprocess_html(self, soup): - for alink in soup.findAll('a'): + for alink in soup.findAll('a'): if alink.string is not None: tstr = alink.string alink.replaceWith(tstr) - return soup \ No newline at end of file + return soup diff --git a/recipes/lequipe.recipe b/recipes/lequipe.recipe index edbc81441b..c6e9a26880 100644 --- a/recipes/lequipe.recipe +++ b/recipes/lequipe.recipe @@ -3,7 +3,6 @@ __license__ = 'GPL v3' from calibre.web.feeds.news import BasicNewsRecipe -import re class leequipe(BasicNewsRecipe): diff --git a/recipes/mateusz_czytania.recipe b/recipes/mateusz_czytania.recipe index 86702c2107..ba7c598787 100644 --- a/recipes/mateusz_czytania.recipe +++ b/recipes/mateusz_czytania.recipe @@ -8,7 +8,6 @@ http://www.mateusz.pl/czytania ''' from calibre.web.feeds.news import BasicNewsRecipe -import re class czytania_mateusz(BasicNewsRecipe): title = u'Czytania na ka\u017cdy dzie\u0144' diff --git a/recipes/red_voltaire.recipe b/recipes/red_voltaire.recipe new file mode 100644 index 0000000000..1763125a8e --- /dev/null +++ b/recipes/red_voltaire.recipe @@ -0,0 +1,32 @@ +import re +from calibre.web.feeds.news import BasicNewsRecipe + +class RedVoltaireRecipe(BasicNewsRecipe): + title = u'Red Voltaire' + __author__ = 'atordo' + description = u'Red de prensa no alineada, especializada en el an\u00e1lisis de las relaciones internacionales' + oldest_article = 7 + max_articles_per_feed = 30 + auto_cleanup = False + no_stylesheets = True + language = 'es' + use_embedded_content = False + remove_javascript = True + cover_url = u'http://www.voltairenet.org/squelettes/elements/images/logo-voltairenet-org.png' + masthead_url = u'http://www.voltairenet.org/squelettes/elements/images/logo-voltairenet-org.png' + + preprocess_regexps = [ + (re.compile(r'(?P<titulo>.+).+

'+match.group('titulo')+'

. (?P.+).+', re.IGNORECASE|re.DOTALL) + ,lambda match:''+match.group('fecha')+'') + ,(re.compile(r'