mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
[Sync] Sync with trunk. Revision 9363
This commit is contained in:
commit
2232b85964
@ -12,6 +12,7 @@ resources/images.qrc
|
|||||||
resources/scripts.pickle
|
resources/scripts.pickle
|
||||||
resources/ebook-convert-complete.pickle
|
resources/ebook-convert-complete.pickle
|
||||||
resources/builtin_recipes.xml
|
resources/builtin_recipes.xml
|
||||||
|
resources/builtin_recipes.zip
|
||||||
setup/installer/windows/calibre/build.log
|
setup/installer/windows/calibre/build.log
|
||||||
src/calibre/translations/.errors
|
src/calibre/translations/.errors
|
||||||
src/cssutils/.svn/
|
src/cssutils/.svn/
|
||||||
@ -29,3 +30,5 @@ nbproject/
|
|||||||
.project
|
.project
|
||||||
.pydevproject
|
.pydevproject
|
||||||
.settings/
|
.settings/
|
||||||
|
*.DS_Store
|
||||||
|
calibre_plugins/
|
@ -478,7 +478,7 @@
|
|||||||
type: major
|
type: major
|
||||||
description : >
|
description : >
|
||||||
"You can now save your frequently used searches and access them with a single click. For details
|
"You can now save your frequently used searches and access them with a single click. For details
|
||||||
see http://calibre-ebook.com/user_manual/gui.html#search-sort"
|
see http://manual.calibre-ebook.com/gui.html#search-sort"
|
||||||
|
|
||||||
- title: "Add searching by date/published date"
|
- title: "Add searching by date/published date"
|
||||||
tickets: [5244]
|
tickets: [5244]
|
||||||
|
957
Changelog.yaml
957
Changelog.yaml
@ -19,16 +19,957 @@
|
|||||||
# new recipes:
|
# new recipes:
|
||||||
# - title:
|
# - title:
|
||||||
|
|
||||||
# - title: "Launch of a new website that catalogues DRM free books. http://drmfree.calibre-ebook.com"
|
- version: 0.8.3
|
||||||
# description: "A growing catalogue of DRM free books. Books that you actually own after buying instead of renting."
|
date: 2011-05-27
|
||||||
# type: major
|
|
||||||
|
new features:
|
||||||
|
- title: "Allow the coloring of columns in the book list."
|
||||||
|
description: "You can either create a custom column with a fixed set of values and assign a color to each value, or you can use the calibre template language to color any column in arbitrarily powerful ways. For example, you can have the title appear in red if the book has a particular tag."
|
||||||
|
type: major
|
||||||
|
|
||||||
|
- title: "Support for the Nook Simple Reader"
|
||||||
|
|
||||||
|
- title: "Get Books, new stores: Virtualo, lulu.net"
|
||||||
|
|
||||||
|
- title: "A store chooser dialog for Get Books (click the little preferences icon at the bottom of the Get Books screen)."
|
||||||
|
|
||||||
|
- title: "Add a merge_lists, and, or, not template functions to the calibre template language"
|
||||||
|
|
||||||
|
- title: "EPUB Output: Change any white-space:pre declarations in the CSS to pre-wrap to accomodate readers that cannot scroll horizontally."
|
||||||
|
tickets: [786722]
|
||||||
|
|
||||||
|
- title: "Windows installer: Remember and use previous installation folder when upgrading. Note that this will work for future upgrades, after this one."
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "MOBI Output: Fix hidden tags with id attributes also hiding their trailing text"
|
||||||
|
tickets: [788570]
|
||||||
|
|
||||||
|
- title: "Fix switching from one news source to another via a search not saving changes to the scheduling of the first source"
|
||||||
|
tickets: [774849]
|
||||||
|
|
||||||
|
- title: "Dont allow user to use non email usernames when setting up Hotmail or Gmail accounts"
|
||||||
|
|
||||||
|
- title: "Amazon metadata download: Use separate identifiers for country specific downloads so that the links to Amazon in the Book details panel work when downloading metadata from country specific amazon websites."
|
||||||
|
tickets: [786146]
|
||||||
|
|
||||||
|
- title: "Nicer error message when user attempts to set title/author via Edit metadata dialog and one of the files is open in another program."
|
||||||
|
|
||||||
|
- title: "Fix {id} not working in send to device templates"
|
||||||
|
|
||||||
|
- title: "Windows: If creating a bytestring temp dir fails, create a unicode one and hope the rest of calibre can handle it"
|
||||||
|
|
||||||
|
- title: "Get Books: Fix some results from Amazon missing."
|
||||||
|
tickets: [785962]
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Kathermini
|
||||||
|
- Faz.net
|
||||||
|
- The Washington Post
|
||||||
|
- El Mundo
|
||||||
|
- Marca
|
||||||
|
- The Nation
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: Various German news sources
|
||||||
|
author: schuster
|
||||||
|
|
||||||
|
- title: "George R. R. Martin's Blog"
|
||||||
|
author: Darko Miletic
|
||||||
|
|
||||||
|
- title: "Focus (DE) and National Geographic"
|
||||||
|
auhtor: Anonymous
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.8.2
|
||||||
|
date: 2011-05-20
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Various new ebook sources added to Get Books: Google Books, O'Reilly, archive.org, some Polish ebooks stores, etc."
|
||||||
|
|
||||||
|
- title: "Amazon metadata download: Allow user to configure Amazon plugin to use any of the US, UK, German, French and Italian Amazon websites"
|
||||||
|
|
||||||
|
- title: "When deleting large numbers of books, give the user the option to skip the Recycle Bin, since sending lots of files to the recycle bin can be very slow."
|
||||||
|
tickets: [784987]
|
||||||
|
|
||||||
|
- title: "OS X: The unified title+toolbar was disabled as it had various bugs. If you really want it you can turn it on again via Preferences->Tweaks, but be aware that you will see problems like the calibre windowd being too wide, weird animations when a device is detected, etc."
|
||||||
|
|
||||||
|
- title: "Add a tweak that controls what words are treated as suffixes when generating an author sort string from an author name."
|
||||||
|
|
||||||
|
- title: "Get Books: Store last few searches in history"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix a crash when a device is connected/disconnected while a modal dialog opened from the toolbar is visible"
|
||||||
|
tickets: [780484]
|
||||||
|
|
||||||
|
- title: "Fix incorrect results from ebooks.com when searching via Get Books"
|
||||||
|
|
||||||
|
- title: "Metadata plugboards: Add prioritization scheme to allow for using different settings for different locations"
|
||||||
|
tickets: [783229]
|
||||||
|
|
||||||
|
- title: "Fix manage authors dialog too wide"
|
||||||
|
tickets: [783065]
|
||||||
|
|
||||||
|
- title: "Fix multiple bracket types in author names not handled correctly when generating author sort string"
|
||||||
|
tickets: [782551]
|
||||||
|
|
||||||
|
- title: "MOBI Input: Don't error out when detecting TOC structure if one of the elements has an invalid margin unit"
|
||||||
|
|
||||||
|
- title: "More fixes for japanese language calibre on windows"
|
||||||
|
tickets: [782408]
|
||||||
|
|
||||||
|
- title: "Linux binaries: Always use either Cleanlook or Plastique styles for the GUI if no style can be loaded from the host computer"
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Newsweek
|
||||||
|
- Economist
|
||||||
|
- Dvhn
|
||||||
|
- United Daily
|
||||||
|
- Dagens Nyheter
|
||||||
|
- GoComics
|
||||||
|
- faz.net
|
||||||
|
- golem.de
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: National Geographic
|
||||||
|
author: gagsays
|
||||||
|
|
||||||
|
- title: Various German news sources
|
||||||
|
author: schuster
|
||||||
|
|
||||||
|
- title: Dilema Veche
|
||||||
|
author: Silviu Cotoara
|
||||||
|
|
||||||
|
- title: "Glamour, Good to Know, Good Housekeeping and Men's Health"
|
||||||
|
author: Anonymous
|
||||||
|
|
||||||
|
- title: "Financial Sense and iProfessional"
|
||||||
|
author: Darko Miletic
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.8.1
|
||||||
|
date: 2011-05-13
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Add Amazon DE, Beam EBooks, Beam DE, Weightless Books, Wizards Tower Books to the list of ebook stores searched by Get Books"
|
||||||
|
|
||||||
|
- title: "TXT output: All new Textile output with much greater preservation of formatting from the input document"
|
||||||
|
|
||||||
|
- title: "Migrate metadata plugin for Douban Books to the 0.8 API"
|
||||||
|
|
||||||
|
- title: "Driver for Dell Streak on windows"
|
||||||
|
|
||||||
|
- title: "Add menu items to Get Books action to search by title and author of current book"
|
||||||
|
|
||||||
|
- title: "Add title_sort as available field to CSV/XML catalogs"
|
||||||
|
|
||||||
|
- title: "Add a context menu to the manage authors dialog"
|
||||||
|
|
||||||
|
- title: "Add a button to paste isbn into the identifiers field in the edit metadata dialog automatically"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Amazon metadata download plugin: Fix links being stripped from comments. Also fix ratings/isbn not being parsed from kindle edition pages."
|
||||||
|
tickets: [782012]
|
||||||
|
|
||||||
|
- title: "Fix one source of segfaults on shutdown in the linux binary builds."
|
||||||
|
|
||||||
|
- title: "Allow the use of condensed/expanded fonts as interface fonts"
|
||||||
|
|
||||||
|
- title: "EPUB Input: Ignore missing cover file when converting, instead of erroring out."
|
||||||
|
tickets: [781848]
|
||||||
|
|
||||||
|
- title: "Fix custom identifier being erased by metadata download"
|
||||||
|
tickets: [781759]
|
||||||
|
|
||||||
|
- title: "Fix regression that broke various things when using Japanese language calibre on windows"
|
||||||
|
tickets: [780804]
|
||||||
|
|
||||||
|
- title: "RTF Input: Handle null color codes correctly"
|
||||||
|
tickets: [780728]
|
||||||
|
|
||||||
|
- title: "ODT Input: Handle inline special styles defined on <text:span> tags."
|
||||||
|
tickets: [780250]
|
||||||
|
|
||||||
|
- title: "Fix error when pressing next previous button with an empty search in the Plugins preferences"
|
||||||
|
tickets: [781135]
|
||||||
|
|
||||||
|
- title: "Ignore 'Unknown' author when downloading metadata."
|
||||||
|
tickets: [779348]
|
||||||
|
|
||||||
|
- title: "Fix timezone bug when setting dates in the edit metadata dialog"
|
||||||
|
tickets: [779497]
|
||||||
|
|
||||||
|
- title: "Fix ebook-convert not recognizing output paths starting with .."
|
||||||
|
tickets: [779322]
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- "Strategy+Business"
|
||||||
|
- Readers Digest
|
||||||
|
- Ming Pao
|
||||||
|
- Telepolis
|
||||||
|
- Fronda
|
||||||
|
- Rzeczpospolita
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: "Various Taiwanese news sources"
|
||||||
|
author: Eddie Lau
|
||||||
|
|
||||||
|
- title: Replica Vedetelor, Ziua Veche
|
||||||
|
author: Silviu Cotoara
|
||||||
|
|
||||||
|
- title: Welt der Physik
|
||||||
|
author: schuster
|
||||||
|
|
||||||
|
- title: Korea Herald
|
||||||
|
author: Seongkyoun Yoo
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.8.0
|
||||||
|
date: 2010-05-06
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Go to http://calibre-ebook.com/new-in/eight to see what's new in 0.8.0"
|
||||||
|
type: major
|
||||||
|
|
||||||
|
- version: 0.7.59
|
||||||
|
date: 2011-04-30
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fixes a bug in 0.7.58 that caused too small fonts when converting to MOBI for the Kindle. Apologies."
|
||||||
|
|
||||||
|
- title: "Apple driver: Handle invalid EPUBs that do not contain an OPF file"
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: The Big Picture and Auto industry news
|
||||||
|
author: welovelucy
|
||||||
|
|
||||||
|
- title: Gazeta Prawna
|
||||||
|
author: Vroo
|
||||||
|
|
||||||
|
- title: Various Czech news sources
|
||||||
|
author: Tomas Latal
|
||||||
|
|
||||||
|
- title: Diario de Ibiza
|
||||||
|
author: Joan Tur
|
||||||
|
|
||||||
|
- version: 0.7.58
|
||||||
|
date: 2011-04-29
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Support for converting and reading metadata from Plucker format PDB files"
|
||||||
|
type: major
|
||||||
|
|
||||||
|
- title: "The metadata that is displayed in the book details panel on the right is now completely configurable via Preferences->Look & Feel"
|
||||||
|
|
||||||
|
- title: "Add a column that shows the date when the metadata of a book record was last modified in calibre. To see the column, right click on the column headers in calibre and select Show column->Modified. Note that the dates may be incorrect for books added with older versions of calibre."
|
||||||
|
|
||||||
|
- title: "Add command line option to shutdown running calibre"
|
||||||
|
|
||||||
|
- title: "CHM Input: Store extracted files in the input/ sub dir for easy debugging when --debug-pipeline is specified"
|
||||||
|
|
||||||
|
- title: "Add a popup menu to the 'Create saved search button' to allow easy deleting of saved searches"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix regression that broke converting to LIT in 0.7.57"
|
||||||
|
tickets: [769334]
|
||||||
|
|
||||||
|
- title: "Conversion pipeline: Remove encoding declarations from input HTML documents to guarantee that there is only a single encoding declaration in the output HTML."
|
||||||
|
tickets: [773337]
|
||||||
|
|
||||||
|
- title: "Correctly parenthesize searches that are used to make search restrictions"
|
||||||
|
|
||||||
|
- title: "Fix ratings in save to disk templates not being divided by 2"
|
||||||
|
|
||||||
|
- title: "TXT to EPUB: Underlined words (following quotes?) fail to become italics"
|
||||||
|
tickets: [772267]
|
||||||
|
|
||||||
|
- title: "Fix template function source code unavailable when not running calibre from source"
|
||||||
|
|
||||||
|
- title: "Fix adding html books from the top of a deep folder hierarchy very slow"
|
||||||
|
|
||||||
|
- title: "Only set language in MOBI metadata if it is not null"
|
||||||
|
|
||||||
|
- title: "Fix 'count-of' searches (e.g., tags:#>3)."
|
||||||
|
tickets: [771175]
|
||||||
|
|
||||||
|
- title: "Fix regression that broke connection to iTunes in some cases"
|
||||||
|
tickets: [771164]
|
||||||
|
|
||||||
|
- title: "Fix buggy regex that made converting PDFs with the string ****************** very slow"
|
||||||
|
tickets: [770534]
|
||||||
|
|
||||||
|
- title: "Fix Ctrl+L shortcut to lookup word not working in ebook viewer"
|
||||||
|
tickets: [769492]
|
||||||
|
|
||||||
|
- title: "Fix regression that broke searching on boolean columns"
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- HBR Blogs
|
||||||
|
- The Marker
|
||||||
|
- Financial Times
|
||||||
|
- Clarin
|
||||||
|
- Honolulu Star Advertiser
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: Novi Standard
|
||||||
|
author: Darko Miletic
|
||||||
|
|
||||||
|
- title: Autobild.ro and Social Diva
|
||||||
|
author: Silviu Cotoara
|
||||||
|
|
||||||
|
- title: Novinky
|
||||||
|
author: Tomas Latal
|
||||||
|
|
||||||
|
- title: "De Volksrant (subscriber version)"
|
||||||
|
author: Selcal
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.7.57
|
||||||
|
date: 2011-04-22
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Launch worker processes on demand instead of keeping a pool of them in memory. Reduces memory footprint."
|
||||||
|
|
||||||
|
- title: "Use the visual formatting of the Table of Contents to try to automatically create a multi-level TOC when converting/viewing MOBI files."
|
||||||
|
tickets: [763681]
|
||||||
|
|
||||||
|
- title: "Add a new function booksize() to the template language to get the value of the size column in calibre."
|
||||||
|
|
||||||
|
- title: "Add support for using metadata plugboards with the content server (only with the epub format)"
|
||||||
|
|
||||||
|
- title: "Change default algorithm for automatically computing author sort to be more intelligent and handle the case when the author name has a comma in it"
|
||||||
|
|
||||||
|
- title: "Show cover size in the tooltips of the book details panel and book details popup window"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Dragging and dropping a cover onto the book details panel did not change the cover size"
|
||||||
|
tickets: [768332]
|
||||||
|
|
||||||
|
- title: "Fix non-escaped '|' when searching for commas in authors using REGEXP_MATCH"
|
||||||
|
|
||||||
|
- title: "Fix ratings in templates being multiplied by 2"
|
||||||
|
|
||||||
|
- title: "Fix adding a comma to custom series values when using completion."
|
||||||
|
tickets: [763788]
|
||||||
|
|
||||||
|
- title: "CHM Input: Another workaround for a Microsoft mess."
|
||||||
|
tickets: [763336]
|
||||||
|
|
||||||
|
- title: "Fix job count in the spinner not always being updated when a job completes"
|
||||||
|
|
||||||
|
- title: "Changing case only of a title does not update title sort"
|
||||||
|
tickets: [768904]
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- ecuisine.ro, egirl.ro and tabu.ro
|
||||||
|
- Daily Telegraph
|
||||||
|
- Handelsblatt
|
||||||
|
- Il Sole 24 Ore
|
||||||
|
- Newsweek
|
||||||
|
- Arcamax
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: BabyOnline.ro
|
||||||
|
author: Silviu Cotoara
|
||||||
|
|
||||||
|
- title: "The Journal.ie"
|
||||||
|
author: Phil Burns
|
||||||
|
|
||||||
|
- title: "Der Spiegel"
|
||||||
|
author: Nikolas Mangold
|
||||||
|
|
||||||
|
- version: 0.7.56
|
||||||
|
date: 2011-04-17
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "This is primarily a bug fix release that fixes a bug in 0.7.55 that caused calibre to rescan the files on the device every time the device is connected. If you updated to 0.7.55 it is highly recommended you update to 0.7.56"
|
||||||
|
|
||||||
|
- title: "Device driver for Coby Kyros"
|
||||||
|
|
||||||
|
- title: "Remove the quick access to search options from next to the search bar, as we now have a separate search highlights toggle button"
|
||||||
|
|
||||||
|
- title: "MOBI Output: Ensure that MOBI files always have 8KB worth of null bytes at the end of record 0. This appears to be necessary for Amazon to be able to add DRM to calibre generated MOBI files sent to their publishing service."
|
||||||
|
|
||||||
|
- title: "Add a tool to inspect MOBI files. To use: calibre-debug -m file.mobi"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fixed regression taht caused calibre to rescan files on the device on every reconnect"
|
||||||
|
|
||||||
|
- title: "Fix donate button causing the toolbar to be too large on OS X"
|
||||||
|
|
||||||
|
- title: "MOBI Input: Fix detection of Table of Contents for MOBI files that have a page break between the location designated as the Table of Contents and the actual table of contents."
|
||||||
|
tickets: [763504]
|
||||||
|
|
||||||
|
- title: "Comic Input: Fix handling of some CBZ files that have wrongly encoded non ASCII filenames on windows."
|
||||||
|
tickets: [763280]
|
||||||
|
|
||||||
|
- title: "PML Input: Fix multi-line chapter title causing a spurious page break"
|
||||||
|
tickets: [763238]
|
||||||
|
|
||||||
|
- title: "EPUB Input: Speed up processing of files with very large manifest/spines"
|
||||||
|
|
||||||
|
- title: "Fix regression that broke cover:False searches in 0.7.55"
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Suedduetsche Zeitung
|
||||||
|
- Irish Times
|
||||||
|
- Big Oven
|
||||||
|
- NSPM
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.7.55
|
||||||
|
date: 2011-04-15
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Add a menu bar. Useful if you use a lot of plugins and are running out of space in your toolbars. By default the menu bar is hidden (except on OS X). You can add actions to it via Preferences->Toolbars. As soon as you add actions, it will become visible."
|
||||||
|
|
||||||
|
- title: "OS X: Make the main calibre window look a little more 'native' on OS X"
|
||||||
|
|
||||||
|
- title: "Show recently viewed books in the View button's drop down menu"
|
||||||
|
|
||||||
|
- title: "Add a button next to the search bar to toggle easily between highlight and restrict search modes"
|
||||||
|
|
||||||
|
- title: "Allow the use of arbitrary searches as search restrictions, rather than just saved searches. Do this by using the special entry '*Current Search' in the Search Restriction dropdown."
|
||||||
|
|
||||||
|
- title: "The Connect/share icon now changes color to indicate that the content server is running"
|
||||||
|
tickets: [755444]
|
||||||
|
|
||||||
|
- title: "Device drivers for Viewpad 7, Motorola Xoom and Asus Eee Note"
|
||||||
|
|
||||||
|
- title: "Add tags like composite custom column."
|
||||||
|
tickets: [759663]
|
||||||
|
|
||||||
|
- title: "Add a new date format code 'iso'. Permits formatting dates to see the complete time (via Preferences->Tweaks)"
|
||||||
|
|
||||||
|
- title: "Allow the use of data from the size column in the template language"
|
||||||
|
tickets: [759645]
|
||||||
|
|
||||||
|
- title: "Support reading/writing covers to txtz/htmlz files"
|
||||||
|
|
||||||
|
- title: "Speedup for large library sorting when using composite custom columns"
|
||||||
|
|
||||||
|
- title: "Move the boolean columns are tristate tweak to Preferences->Behavior"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix a regression in 0.7.54 that broke reading covers/metadata from cbz files."
|
||||||
|
tickets: [756892]
|
||||||
|
|
||||||
|
- title: "Fix tweak names and help not translatable"
|
||||||
|
tickets: [756736]
|
||||||
|
|
||||||
|
- title: "When the size of a book is less that 0.1MB but not zero, display the size as <0.1 instead of 0.0."
|
||||||
|
tickets: [755768]
|
||||||
|
|
||||||
|
- title: "HTMLZ input: Fix handling of HTML files encoded in an encoding other than UTF-8"
|
||||||
|
|
||||||
|
- title: "EPUB Input: Fix EPUB files with empty Adobe PAGE templates causing conversion to abort."
|
||||||
|
tickets: [760390]
|
||||||
|
|
||||||
|
- title: "Fix CHM input plugin not closing opened input file"
|
||||||
|
tickets: [760589]
|
||||||
|
|
||||||
|
- title: "MOBI Output: Make super/subscripts use a slightly smaller font when rendered on a Kindle. Also allow the use of vertical-align:top/bottom in the CSS to specify a super/subscript."
|
||||||
|
tickets: [758667]
|
||||||
|
|
||||||
|
- title: "LRF Input: Detect and workaround LRF files that have deeply nested spans, instead of crashing."
|
||||||
|
tickets: [759680]
|
||||||
|
|
||||||
|
- title: "MOBI Output: Fix bug that would cause conversion to unneccessarily abort when malformed hyperlinks are present in the input document."
|
||||||
|
tickets: [759313]
|
||||||
|
|
||||||
|
- title: "Make true and false searches work correctly for numeric fields."
|
||||||
|
|
||||||
|
- title: "MOBI Output: The Ignore margins setting no longer ignores blockquotes, only margins set via CSS on other elements."
|
||||||
|
tickets: [758675]
|
||||||
|
|
||||||
|
- title: "Fix regression that caused clicking auto send to also change the email address in Preferences->Email"
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Wall Street Journal
|
||||||
|
- Weblogs SL
|
||||||
|
- Tabu.ro
|
||||||
|
- Vecernje Novosti
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: Hallo Assen and Dvhn
|
||||||
|
author: Reijendert
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.7.54
|
||||||
|
date: 2011-04-08
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "New output format, HTMLZ which is a single HTML file with its associated images/stylesheets in a zipped up file"
|
||||||
|
description: "Useful when you want to convert your ebook into a single HTML file for easy editing. Note that this output plugin is still new and needs testing"
|
||||||
|
|
||||||
|
- title: "When dealing with ZIP/RAR archives, use the file header rather than the file extension to detrmine the file type, when possible. This fixes the common case of CBZ files being actually cbr files and vice versa"
|
||||||
|
|
||||||
|
- title: "Support for the Motorola Atrix"
|
||||||
|
|
||||||
|
- title: "Allow the icons in the toolbar to be turned off completely via Preferences->Look & Feel"
|
||||||
|
|
||||||
|
- title: "When downloading metadata use the gzip transfer encoding when possible for a speedup."
|
||||||
|
tickets: [749304]
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Conversion pipeline: Workaround for bug in lxml that causes a massive mem leak on windows and OS X when the input document contains non ASCII CSS selectors."
|
||||||
|
tickets: [754555]
|
||||||
|
|
||||||
|
- title: "Conversion pipeline: Handle inline <style> tags that put all the actual CSS inside an XML comment."
|
||||||
|
tickets: [750063]
|
||||||
|
|
||||||
|
- title: "The 'Choose Library' button now shows its popup menu when you already have more than one library instead of the dialog to create a new library"
|
||||||
|
tickets: [754154]
|
||||||
|
|
||||||
|
- title: "Apply all content server setting when clicking the Start Server button in Preferences->Sharing over the net"
|
||||||
|
tickets: [753122]
|
||||||
|
|
||||||
|
- title: "Fix content server breaking if its restriction is set to a saved search that was deleted"
|
||||||
|
tickets: [751950]
|
||||||
|
|
||||||
|
- title: "Fix detection of PocketBook with 2.0.6 firmware on windows"
|
||||||
|
tickets: [750336]
|
||||||
|
|
||||||
|
- title: "ODT Input: Fix handling of the <text:s> element."
|
||||||
|
tickets: [749655]
|
||||||
|
|
||||||
|
- title: "MOBI Output: Don't use self closed tags"
|
||||||
|
|
||||||
|
- title: "Fix book details popup becoming too tall if there is a lot of metadata"
|
||||||
|
|
||||||
|
- title: "Fix new PDF engine crashing on PDF files with embedded fonts with null names"
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Kommersant
|
||||||
|
- Perfil
|
||||||
|
- Times of India
|
||||||
|
- IHT
|
||||||
|
- Guardian
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: "Al Ahram"
|
||||||
|
authors: Hassan Williamson
|
||||||
|
|
||||||
|
- title: "F-Secure and developpez.com"
|
||||||
|
authors: louhike
|
||||||
|
|
||||||
|
- version: 0.7.53
|
||||||
|
date: 2011-04-01
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Email delivery: You can now specify a subject that calibre will use when sending emails per email account, configured in Preferences->Sending by email. The subject is a template of the same kind used in Save to Disk, etc. So you can specift the title/authors/series/whatever in the template."
|
||||||
|
tickets: [743535]
|
||||||
|
|
||||||
|
- title: "Apple driver: When an iDevice is detected, inform the user about the Connect to iTunes method instead of trying to connect directly to the device, as the latter can be buggy. See http://www.mobileread.com/forums/showthread.php?t=127883 for details"
|
||||||
|
|
||||||
|
- title: "SONY driver: Search for books on the device in all directories not just database/media/books. This can be turned off by customizing the SONY plugin in Preferences->Plugins"
|
||||||
|
|
||||||
|
- title: "EPUB Output: Remove any margins specified via an Adobe page template in the input document. This means that the margins specified in calibre are more likely to be the actual margins used."
|
||||||
|
|
||||||
|
- title: "When reading metadata from filenames, allow publisher and published date to be read from the filename"
|
||||||
|
tickets: [744020]
|
||||||
|
|
||||||
|
- title: "Remove the option to show a second tool bar from Preferences->Look & Feel. Instead go to Preferences->Toolbars and add items to the second toolbar to control exactly what is visible there."
|
||||||
|
tickets: [742686]
|
||||||
|
|
||||||
|
- title: "Add a tweak that can be used to have the calibre content server listen for IPv6 connections."
|
||||||
|
tickets: [743486]
|
||||||
|
|
||||||
|
- title: "When clicking Next or Previous in the edit metadata dialog, then active book in the main book list is also changed"
|
||||||
|
tickets: [743533]
|
||||||
|
|
||||||
|
- title: "Remember the previously used setting for Match all/Match any under the Tag Browser when calibre restarts"
|
||||||
|
tickets: [743645]
|
||||||
|
|
||||||
|
- title: "FB2 Output: Option to set the FB2 genre explicitly."
|
||||||
|
tickets: [743178]
|
||||||
|
|
||||||
|
- title: "Plugin developers: calibre now has a new plugin API, see http://manual.calibre-ebook.com/creating_plugins.html. Your existing plugins should continue to work, but it would be good to test them to make sure."
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix text color in the search bar set to black instead of the system font color"
|
||||||
|
tickets: [746846]
|
||||||
|
|
||||||
|
- title: "Workaround for Word bug where Word uses gb2312 as the encoding when exporting CHinese docs to HTML istead of gbk"
|
||||||
|
tickets: [745428]
|
||||||
|
|
||||||
|
- title: "Make sorting on the device view faster and more robust."
|
||||||
|
tickets: [742626]
|
||||||
|
|
||||||
|
- title: "E-book viewer: Fix viewer losing place in very long single file documents when window resized."
|
||||||
|
tickets: [745001]
|
||||||
|
|
||||||
|
- title: "MOBI Output: Workaround for Amazon's MOBI renderer not rendering top margins on ul and ol tags."
|
||||||
|
tickets: [744365]
|
||||||
|
|
||||||
|
- title: "EPUB Input: Workaround for invalid EPUBs produced by someone named 'ibooks, Inc.'."
|
||||||
|
tickets: [744122]
|
||||||
|
|
||||||
|
- title: "RTF Input: Handle RTF files with too many levels of list nesting."
|
||||||
|
tickets: [743243]
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Irish Times
|
||||||
|
- LifeHacker
|
||||||
|
- Estadao
|
||||||
|
- Folha de Sao Paulo
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: Financieele Dagblad
|
||||||
|
author: marvin_2
|
||||||
|
|
||||||
|
- title: "Prost Amerika, WV Hooligan and SB Nation"
|
||||||
|
author: rylsfan
|
||||||
|
|
||||||
|
- title: "Cracked.com"
|
||||||
|
author: Nudgenudge
|
||||||
|
|
||||||
|
- version: 0.7.52
|
||||||
|
date: 2011-03-25
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fixes a typo in 0.7.51 that broke the downloading of some news. Apologies."
|
||||||
|
tickets: [742840]
|
||||||
|
|
||||||
|
- version: 0.7.51
|
||||||
|
date: 2011-03-25
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Conversion: Detect and remove fake page margins that are specified as a margin on (nearly) every paragraph."
|
||||||
|
description: "This can be turned off via an option under Structure Detection, in case it removes margins that should have been kept."
|
||||||
|
|
||||||
|
- title: "Windows build: All the python code and recipes are now put into zip files. This should decrease the amount of time the windows installer spends 'calculating free space'"
|
||||||
|
|
||||||
|
- title: "OSX and Linux: Add a setting in Preferences->Behavior to control the priority with which calibre worker processes run. This setting was already available on windows."
|
||||||
|
tickets: [741231]
|
||||||
|
|
||||||
|
- title: "Driver for HTC Thunderbolt, T-Mobile Optimus, Archos 43 and Blackberry OS6"
|
||||||
|
|
||||||
|
- title: "A new 'authors type' custom column"
|
||||||
|
|
||||||
|
- title: "When building calibre from source note that calibre now absolutely requires python >= 2.7"
|
||||||
|
|
||||||
|
- title: "Add the keyboard shortcut: Ctrl+Shift+R to restart calibre in debug mode"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix dragging and dropping lots of books from the book list to the Tag Browser was broken"
|
||||||
|
|
||||||
|
- title: "Change the shebang in the calibre launcher script on linux to explicitly use python2 rather than python"
|
||||||
|
|
||||||
|
- title: "When adding formats do not corrupt the added file if the user tries to add an existing format to itself"
|
||||||
|
|
||||||
|
- title: "Fix drag and drop to add files that contain the # character in the filename"
|
||||||
|
|
||||||
|
- title: "Tag editor shouldn't add empty tags"
|
||||||
|
tickets: [740890]
|
||||||
|
|
||||||
|
- title: "MOBI Input: Handle MOBI files that have a too large 'number of records' field in their headers."
|
||||||
|
tickets: [740713]
|
||||||
|
|
||||||
|
- title: "News download: Update RSS feedparser module to latest version"
|
||||||
|
|
||||||
|
- title: "Various fixes to the zipfile module in calibre to handle 64 bit zipfiles and bring it up to date with the zip file module in the python stdlib"
|
||||||
|
|
||||||
|
- title: "News download: Handle titles with ASCII control codes in them."
|
||||||
|
tickets: [739322]
|
||||||
|
|
||||||
|
- title: "Make search hierarchies show simple names instead of compound ones."
|
||||||
|
|
||||||
|
- title: "Fix commas in author names being converted to pipe symbols in the book details window"
|
||||||
|
|
||||||
|
- title: "Fix PocketBook can't always find epub cover image to create thumbnail"
|
||||||
|
tickets: [9445]
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- "168 ora"
|
||||||
|
- "LWN weekly"
|
||||||
|
- Christian Science Monitor
|
||||||
|
- Washington Post
|
||||||
|
- West Hawaii Today
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: "Planet KDE"
|
||||||
|
author: Riccardo Iaconelli
|
||||||
|
|
||||||
|
- title: "HVG"
|
||||||
|
author: Istvan Papp
|
||||||
|
|
||||||
|
- title: "Caijing Magazine"
|
||||||
|
auhtor: Eric Chen
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.7.50
|
||||||
|
date: 2011-03-18
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Add 'Read a random book' to the view menu"
|
||||||
|
|
||||||
|
- title: "Add option to show composite columns in the tag browser."
|
||||||
|
|
||||||
|
- title: "Add a tweak in Preferences->Tweaks to control where news that is automatically uploaded to a reader is sent."
|
||||||
|
tickets: [9427]
|
||||||
|
|
||||||
|
- title: "Do not also show text in composite columns when showing an icon"
|
||||||
|
|
||||||
|
- title: "Add a menu item to clear the last viewed books history in the ebook viewer"
|
||||||
|
|
||||||
|
- title: "Kobo driver: Add support for the 'Closed' collection"
|
||||||
|
|
||||||
|
- title: "Add rename/delete saved search options to Tag browser context menu"
|
||||||
|
|
||||||
|
- title: "Make searches in the tag browser a possible hierarchical field"
|
||||||
|
|
||||||
|
- title: "Allow using empty username and password when setting up an SMTP relay"
|
||||||
|
tickets: [9195]
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix regression in 0.7.49 that broke deleting of news downloads older than x days."
|
||||||
|
tickets: [9417]
|
||||||
|
|
||||||
|
- title: "Restore the ability to remove missing formats from metadata.db to the Check Library operation"
|
||||||
|
tickets: [9377]
|
||||||
|
|
||||||
|
- title: "EPUB metadata: Read ISBN from Penguin epubs that dont correctly specify it"
|
||||||
|
|
||||||
|
- title: "Conversion pipeline: Handle the case where the ncx file is incorrectly given an HTML mimetype"
|
||||||
|
|
||||||
|
- title: "Make numpad navigation keys work in viewer"
|
||||||
|
tickets: [9428]
|
||||||
|
|
||||||
|
- title: "Fix ratings not being downloaded from Amazon"
|
||||||
|
|
||||||
|
- title: "Content server: Add workaround for Internet Explorer not supporting the ' entity."
|
||||||
|
tickets: [9413]
|
||||||
|
|
||||||
|
- title: "Conversion pipeline: When detecting chapters/toc links from HTML normalize spaces and increase maximum TOC title length to 1000 characters from 100 characters."
|
||||||
|
tickets: [9363]
|
||||||
|
|
||||||
|
- title: "Fix regression that broke Search and Replace on custom fields"
|
||||||
|
tickets: [9397]
|
||||||
|
|
||||||
|
- title: "Fix regression that caused currently selected row to be unfocussed int he device view when updataing metadata"
|
||||||
|
tickets: [9395]
|
||||||
|
|
||||||
|
- title: "Coversion S&R: Do not strip leading and trailing whitespace from the search and replace expressions in the GUI"
|
||||||
|
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Sports Illustrated
|
||||||
|
- Draw and Cook
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: "Evangelizo.org and pro-linux.de"
|
||||||
|
author: Bobus
|
||||||
|
|
||||||
|
- title: "Office Space and Modoros"
|
||||||
|
author: Zsolt Botykai
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.7.49
|
||||||
|
date: 2011-03-11
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "News download: More flexible news downlaod scheduling. You can now schedule by days of the week, days of the month and an interval, which can be as small as an hour for news sources that change rapidly"
|
||||||
|
|
||||||
|
- title: "Improved support for dragging and dropping cover images directly from web browsers into calibre."
|
||||||
|
description: >
|
||||||
|
"You can drop the images onto the cover in calibre and it will be replaced. Tested on a number of OS/browser combinations, but I am sure there a still a few for which it wont work."
|
||||||
|
|
||||||
|
- title: "Add shortcuts of Alt+Left and Alt+Right for the next and previous buttons in the edit metadata dialog."
|
||||||
|
tickets: [9360]
|
||||||
|
|
||||||
|
- title: "When adding a GUI plugin, prompt the user for where the plugin should be displayed"
|
||||||
|
|
||||||
|
- title: "Conversion: When using the Level x Table of Contents options, support the case when the level 1,2,3 items are spread over multiple HTML files."
|
||||||
|
|
||||||
|
- title: "Support for the Optimus V"
|
||||||
|
|
||||||
|
- title: "FB2 Input: Support for tables"
|
||||||
|
tickets: [9302]
|
||||||
|
|
||||||
|
- title: "Display a checkmark/cross next to 'true' and 'false' items in custom columns. Controlled via Preferences->Add a custom column"
|
||||||
|
|
||||||
|
- title: "Catalog generation: Reuse cover from existing catalog, allows the use of a custom cover for catalogs"
|
||||||
|
|
||||||
|
- title: "When setting covers in calibre, resize to fit within a maximum size of (1200, 1600), to prevent slowdowns due to extra large covers. This size can be controlled via Preferences->Tweaks."
|
||||||
|
tickets: [9277]
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Fix long standing bug that caused errors when saving books to disk if the book metadata has certain chinese/russian characters on windows. The fix required some changes to how unicode paths are handled in calibre, so it might have broken something else. If so, please open a ticket."
|
||||||
|
tickets: [7250]
|
||||||
|
|
||||||
|
- title: "Custom recipes: Store custom recipes in the calibre config directory instead of the library database. This allows scheduling of custom recipes to work with multiple libraries. Note that you may have to re-schedule any existing custom recipes."
|
||||||
|
|
||||||
|
- title: "Restore the ability to do search and replace on ISBN. Use the 'identifiers' field with type isbn to do this"
|
||||||
|
|
||||||
|
- title: "Fix amazon metadata download plugin not working with ISBN-13 and social metadata not downloading if the supplied ISBN 10 is not for an edition available on Amazon"
|
||||||
|
|
||||||
|
- title: "Workaround for openlibrary blocking the user agent used by calibre, preventing cover downloads from that site"
|
||||||
|
|
||||||
|
- title: "FB2 Output: Add sequence to metadata. Fix bugs with author names. Fix bug where <empty-line/> elements were put inside <p> tags."
|
||||||
|
|
||||||
|
- title: "Conversion pipeline: If the input HTML document uses uppercase tag and attribute names, convert them to lowercase"
|
||||||
|
|
||||||
|
- title: "RTF Input: Fix space after unicode quote character being incorrectly removed"
|
||||||
|
tickets: [9343]
|
||||||
|
|
||||||
|
- title: "Fix regression that broke the ebook-device command line program in the previous release"
|
||||||
|
|
||||||
|
- title: "Fix custom columns with numbers not allowing entry of positive numbers of 64-bit machines"
|
||||||
|
tickets: [9283]
|
||||||
|
|
||||||
|
- title: "Fix regression that caused focus to be lost when editing metadata in the device view"
|
||||||
|
tickets: [9323]
|
||||||
|
|
||||||
|
- title: "CHM Input: If an input encoding is specified, use it rather than trying to detect the encoding of the text in the CHM file."
|
||||||
|
tickets: [9173]
|
||||||
|
|
||||||
|
- title: "Fix regression that caused the viewer to forget its window size and other attributes when launched from within calibre, after calibre is restarted."
|
||||||
|
tickets: [9326]
|
||||||
|
|
||||||
|
- title: "News download: Fix regression that caused the delay parameter in recipes to not actually delay downloads."
|
||||||
|
tickets: [9332]
|
||||||
|
|
||||||
|
- title: "Conversion pipeline: When converting the :first-letter pseudo CSS selector to a <span> follow W3C rules for handling leading punctuation characters."
|
||||||
|
tickets: [9319]
|
||||||
|
|
||||||
|
- title: "Fix regression that caused clicking saved searches in the Tag Browser to not work"
|
||||||
|
|
||||||
|
- title: "Comic Input: Fix conversion failing when output profile is set to Tablet Output"
|
||||||
|
|
||||||
|
- title: "Replace leading periods in all path components generated by calibre with underscores"
|
||||||
|
|
||||||
|
- title: "Search and replace preferences: Prevent very long strings from causing the wizard button to get pushed off the screen"
|
||||||
|
|
||||||
|
- title: "Content server: Fix regression that caused various metadata to be missing in the book details view."
|
||||||
|
ticckets: [8929]
|
||||||
|
|
||||||
|
- title: "Apple driver: Ignore invalid EPUBs when sending to iTunes"
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- golem.de
|
||||||
|
- gulli.de
|
||||||
|
- La Nacion
|
||||||
|
- Ming Pao
|
||||||
|
- evz.ro
|
||||||
|
- Kompiuterra
|
||||||
|
- NRC Handelsblad (EPUB)
|
||||||
|
- The Leduc - Wetaskiwin Pipestone Flyer
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: "Various Romanian news sources"
|
||||||
|
author: Silviu Cotoara
|
||||||
|
|
||||||
|
- title: "Salt Lake City Tribune"
|
||||||
|
author: Charles Holbert
|
||||||
|
|
||||||
|
- title: "Bay Citizen and Oakland North"
|
||||||
|
author: noah
|
||||||
|
|
||||||
|
- title: "Nikkei Business and JB Press"
|
||||||
|
author: Ado Nishimura
|
||||||
|
|
||||||
|
- title: "El Pais Babelia"
|
||||||
|
author: oneillpt
|
||||||
|
|
||||||
|
- title: "Komchadluek"
|
||||||
|
author: ballsai
|
||||||
|
|
||||||
|
|
||||||
|
- version: 0.7.48
|
||||||
|
date: 2011-03-04
|
||||||
|
|
||||||
|
new features:
|
||||||
|
- title: "Changes to the internal database structure used by calibre"
|
||||||
|
description: >
|
||||||
|
"These changes will allow calibre, in the future, to support book language, arbitrary book identifiers and keep track of when the metadata for a book was last modified. WARNING: Because of these changes, if you downgrade calibre versions after upgrading to 0.7.48, you will lose any changes you make to the ISBN of book entries in your calibre database, so do not downgrade unless you really have to. Also note that the first time you start calibre after this update, the startup will be slow as the database structure is being changed."
|
||||||
|
|
||||||
|
- title: "Launch of a new website that catalogues DRM free ebooks. http://drmfree.calibre-ebook.com"
|
||||||
|
description: "A growing catalogue of DRM free ebooks. Ebooks that you actually own after paying, instead of just renting."
|
||||||
|
type: major
|
||||||
|
|
||||||
|
- title: "News download: Add an option to keep at most x issues of a particular periodical in the calibre library. Use the Advanced tab in the Fetch news dialog for your news source to set this option."
|
||||||
|
tickets: [9168]
|
||||||
|
|
||||||
|
- title: "You can now right click on the cover in the book details panel to copy/paste a new cover."
|
||||||
|
tickets: [9255]
|
||||||
|
|
||||||
|
- title: "Add an entry to the add books drop down menu to easily add formats to an existing book record"
|
||||||
|
|
||||||
|
- title: "Tag browser: Clicking on a nested category now searches for the category alone. Clicking twice searches for the category and all its descendants and so on."
|
||||||
|
tickets: [9166, 9169]
|
||||||
|
|
||||||
|
- title: "Add a button to the Manage authors dialog to copy author sort values to author"
|
||||||
|
|
||||||
|
- title: "Decrease startup times on large libraries by using a faster algorithm to parse stored dates"
|
||||||
|
|
||||||
|
- title: "Add quick create links to easily create custom columns of commonly used types to the add custom column dialog"
|
||||||
|
|
||||||
|
- title: "Allow drag drop of images to change cover in book details window."
|
||||||
|
tickets: [9226]
|
||||||
|
|
||||||
|
- title: "Device susbsytem: Create a drive info file named driveinfo.calibre in the root of each device drive for USB connected devices. This file contains various useful data. API Change: The open method of the device plugins now accepts an extra parameter library_uuid which is the id of the calibre library connected tot eh device"
|
||||||
|
|
||||||
|
bug fixes:
|
||||||
|
- title: "Conversion pipeline: Fix regression in 0.7.46 that caused loss of some CSS information when converting HTML produced by Microsoft Word. Also remove empty tags from microsoft namespaces when parsing HTML"
|
||||||
|
|
||||||
|
- title: "Try harder to ensure that the worker log temporary files are deleted in windows"
|
||||||
|
|
||||||
|
- title: "CHM Input: Handle CHM files that dont specify a topics file."
|
||||||
|
tickets: [9253]
|
||||||
|
|
||||||
|
- title: "Fix regression that caused memory leak in Tag Browser. This would show up as the memory usage of calibre increasing when switching libraries."
|
||||||
|
tickets: [9246]
|
||||||
|
|
||||||
|
- title: "Fix bug that caused preferences->behavior to not show the output format set by the welcome wizard, and instead default to showing EPUB"
|
||||||
|
|
||||||
|
- title: "Fix bug that caused wrong books to be deleted from library if you choose 'delete from library and device' while the library is sorted by the On device column"
|
||||||
|
|
||||||
|
- title: "MOBI Input: Ignore all ASCII control codes except CR, NL and Tab."
|
||||||
|
tickets: [9219]
|
||||||
|
|
||||||
|
improved recipes:
|
||||||
|
- Credit Slips
|
||||||
|
- Seattle Times
|
||||||
|
- MacWorld
|
||||||
|
- Austin Statesman
|
||||||
|
- EPL Talk
|
||||||
|
- Gawker
|
||||||
|
- Deadspin
|
||||||
|
|
||||||
|
new recipes:
|
||||||
|
- title: "Thai Post Today and Daily Post"
|
||||||
|
author: "Chotechai P."
|
||||||
|
|
||||||
|
- title: "RBC.ru"
|
||||||
|
author: Chewi
|
||||||
|
|
||||||
|
- title: Helsingin Sanomat
|
||||||
|
author: oneillpt
|
||||||
|
|
||||||
|
- title: "LWN Weekly"
|
||||||
|
author: David Cavalca
|
||||||
|
|
||||||
|
- title: "New York Times Sports and Technology Blogs"
|
||||||
|
author: rylsfan
|
||||||
|
|
||||||
|
- title: "Historia and Buctaras"
|
||||||
|
author: Silviu Cotoara
|
||||||
|
|
||||||
|
- title: "Buffalo News"
|
||||||
|
author: ChappyOnIce
|
||||||
|
|
||||||
|
- title: "Dotpod"
|
||||||
|
author: Federico Escalada
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- version: 0.7.47
|
- version: 0.7.47
|
||||||
date: 2011-02-25
|
date: 2011-02-25
|
||||||
|
|
||||||
new features:
|
new features:
|
||||||
- title: "Tag Browser: Support the creation of nested User Categories"
|
- title: "Tag Browser: Support the creation of nested User Categories"
|
||||||
description: "See http://calibre-ebook.com/user_manual/gui.html#tag-browser for details"
|
description: "See http://manual.calibre-ebook.com/gui.html#tag-browser for details"
|
||||||
type: major
|
type: major
|
||||||
|
|
||||||
- title: "Disable Kent District Library plugin to download series information. The website could not handle the load calibre's 2 million users put on it. You can manually re-enable it if you really want series information, but it is very slow"
|
- title: "Disable Kent District Library plugin to download series information. The website could not handle the load calibre's 2 million users put on it. You can manually re-enable it if you really want series information, but it is very slow"
|
||||||
@ -90,10 +1031,10 @@
|
|||||||
author: Ricardo Jurado
|
author: Ricardo Jurado
|
||||||
|
|
||||||
- title: "Various Romanian news sources"
|
- title: "Various Romanian news sources"
|
||||||
author: Silviu Coatara
|
author: Silviu Cotoara
|
||||||
|
|
||||||
- title: "Osnews.pl and SwiatKindle"
|
- title: "Osnews.pl and SwiatCzytnikow"
|
||||||
author: Mori
|
author: Tomasz Dlugosz
|
||||||
|
|
||||||
- title: "Roger Ebert Journal"
|
- title: "Roger Ebert Journal"
|
||||||
author: Shane Erstad
|
author: Shane Erstad
|
||||||
@ -2901,7 +3842,7 @@
|
|||||||
type: major
|
type: major
|
||||||
description: >
|
description: >
|
||||||
"You can now change the icons used in the User Interface and other static resources. Details on how to
|
"You can now change the icons used in the User Interface and other static resources. Details on how to
|
||||||
do this are at: http://calibre-ebook.com/user_manual/customize.html#overriding-icons-templates-etcetera"
|
do this are at: http://manual.calibre-ebook.com/customize.html#overriding-icons-templates-etcetera"
|
||||||
|
|
||||||
- title: "Split the 'Send to device' button into two buttons, 'Connect/share' and 'Send to device'. The new 'Send to device' button will now only be available when a device is connected."
|
- title: "Split the 'Send to device' button into two buttons, 'Connect/share' and 'Send to device'. The new 'Send to device' button will now only be available when a device is connected."
|
||||||
|
|
||||||
|
8
INSTALL
8
INSTALL
@ -1,6 +1,9 @@
|
|||||||
calibre supports installation from source, only on Linux.
|
calibre supports installation from source, only on Linux.
|
||||||
On Windows and OS X use the provided installers and use
|
|
||||||
the facilities of the calibre-debug command to hack on the calibre source.
|
Note that you *do not* need to install from source to hack on
|
||||||
|
the calibre source code. To get started with calibre development,
|
||||||
|
use a normal calibre install and follow the instructions at
|
||||||
|
http://manual.calibre-ebook.com/develop.html
|
||||||
|
|
||||||
On Linux, there are two kinds of installation from source possible.
|
On Linux, there are two kinds of installation from source possible.
|
||||||
Note that both kinds require lots of dependencies as well as a
|
Note that both kinds require lots of dependencies as well as a
|
||||||
@ -45,3 +48,4 @@ This type of install can be run with the command::
|
|||||||
sudo python setup.py develop
|
sudo python setup.py develop
|
||||||
|
|
||||||
Use the -h flag for help on the develop command.
|
Use the -h flag for help on the develop command.
|
||||||
|
|
||||||
|
4
README
4
README
@ -6,8 +6,8 @@ reading. It is cross platform, running on Linux, Windows and OS X.
|
|||||||
|
|
||||||
For screenshots: https://calibre-ebook.com/demo
|
For screenshots: https://calibre-ebook.com/demo
|
||||||
|
|
||||||
For installation/usage instructions please see
|
For usage instructions please see
|
||||||
http://calibre-ebook.com
|
http://manual.calibre-ebook.com
|
||||||
|
|
||||||
For source code access:
|
For source code access:
|
||||||
bzr branch lp:calibre
|
bzr branch lp:calibre
|
||||||
|
@ -210,21 +210,23 @@ record type usual length name comments
|
|||||||
114 versionnumber
|
114 versionnumber
|
||||||
115 sample
|
115 sample
|
||||||
116 startreading
|
116 startreading
|
||||||
118 retail price (as text)
|
117 3 adult Mobipocket Creator adds this if Adult only is checked; contents: "yes"
|
||||||
119 retail price currency (as text)
|
118 retail price As text, e.g. "4.99"
|
||||||
201 coveroffset
|
119 retail price currency As text, e.g. "USD"
|
||||||
202 thumboffset
|
201 4 coveroffset Add to first image field in Mobi Header to find PDB record containing the cover image
|
||||||
|
202 4 thumboffset Add to first image field in Mobi Header to find PDB record containing the thumbnail cover image
|
||||||
203 hasfakecover
|
203 hasfakecover
|
||||||
204 204 Unknown
|
204 4 Creator Software Records 204-207 are usually the same for all books from a certain source, e.g. 1-6-2-41 for Baen and 201-1-0-85 for project gutenberg, 200-1-0-85 for amazon when converted to a 32 bit integer.
|
||||||
205 205 Unknown
|
205 4 Creator Major Version
|
||||||
206 206 Unknown
|
206 4 Creator Minor Version
|
||||||
207 207 Unknown
|
207 4 Creator Build Number
|
||||||
208 208 Unknown
|
208 watermark
|
||||||
300 300 Unknown
|
209 tamper proof keys Used by the Kindle (and Android app) for generating book-specific PIDs.
|
||||||
401 clippinglimit
|
300 fontsignature
|
||||||
|
401 1 clippinglimit
|
||||||
402 publisherlimit
|
402 publisherlimit
|
||||||
403 403 Unknown
|
403 403 Unknown 1 - Text to Speech disabled; 0 - Text to Speech enabled
|
||||||
404 404 ttsflag
|
404 1 404 ttsflag
|
||||||
501 4 cdetype PDOC - Personal Doc;
|
501 4 cdetype PDOC - Personal Doc;
|
||||||
EBOK - ebook;
|
EBOK - ebook;
|
||||||
502 lastupdatetime
|
502 lastupdatetime
|
||||||
@ -287,9 +289,9 @@ content at the beginning of the following record. The trailing entry ends with
|
|||||||
a byte containing a count of the overlapping bytes plus additional flags.
|
a byte containing a count of the overlapping bytes plus additional flags.
|
||||||
|
|
||||||
offset bytes content comments
|
offset bytes content comments
|
||||||
0 0-3 N terminal bytes
|
0 0-3 N terminal bytes
|
||||||
of a multibyte
|
of a multibyte
|
||||||
character
|
character
|
||||||
N 1 Size & flags bits 1-2 encode N, use of bits 3-8 is unknown
|
N 1 Size & flags bits 1-2 encode N, use of bits 3-8 is unknown
|
||||||
|
|
||||||
|
|
||||||
@ -328,6 +330,102 @@ programs may ignore them entirely. They are stored at the end of the file itself
|
|||||||
so the full file needs to be scanned when loaded to find them.
|
so the full file needs to be scanned when loaded to find them.
|
||||||
|
|
||||||
|
|
||||||
|
Image Records
|
||||||
|
-------------
|
||||||
|
|
||||||
|
If the file contains images, they follow the text blocks, with each image using a
|
||||||
|
single block. The 4096-byte record size in the PalmDoc header applies only to
|
||||||
|
text records; image records may be larger.
|
||||||
|
|
||||||
|
|
||||||
|
Magic Records
|
||||||
|
-------------
|
||||||
|
|
||||||
|
In some cases, MobiPocket Creator adds a 2-zero-byte record after the text
|
||||||
|
records in a file. This record is not included in the "record count" of text
|
||||||
|
records in the PalmDoc header, and is also not used as the "first non-book
|
||||||
|
index" in the MOBI header. (If the 2-zero-byte record is present, the index of
|
||||||
|
the following block is used as the "first non-book index".)
|
||||||
|
|
||||||
|
MobiPocket Creator also ends files with three records: 'FLIS', 'FCIS', and
|
||||||
|
'end-of-file', in that order. The 'FLIS' and 'FCIS' records do not seem to be
|
||||||
|
necessary for MobiPocket Reader or the Amazon Kindle 2 to read the file. The
|
||||||
|
'end-of-file' record might be necessary.
|
||||||
|
|
||||||
|
|
||||||
|
FLIS Record
|
||||||
|
-----------
|
||||||
|
|
||||||
|
The FLIS record appears to have a fixed value. The meaning of the values is not known.
|
||||||
|
|
||||||
|
offset bytes content comments
|
||||||
|
0 4 identifier the characters F L I S (0x46 0x4c 0x49 0x53)
|
||||||
|
4 4 ? fixed value: 8
|
||||||
|
8 2 ? fixed value: 65
|
||||||
|
10 2 ? fixed value: 0
|
||||||
|
12 4 ? fixed value: 0
|
||||||
|
16 4 ? fixed value: -1
|
||||||
|
20 2 ? fixed value: 1
|
||||||
|
22 2 ? fixed value: 3
|
||||||
|
24 4 ? fixed value: 3
|
||||||
|
28 4 ? fixed value: 1
|
||||||
|
32 4 ? fixed value: -1
|
||||||
|
|
||||||
|
|
||||||
|
FCIS Record
|
||||||
|
-----------
|
||||||
|
|
||||||
|
The FCIS record appears to have mostly fixed values.
|
||||||
|
|
||||||
|
offset bytes content comments
|
||||||
|
0 4 identifier the characters F C I S (0x46 0x43 0x49 0x53)
|
||||||
|
4 4 ? fixed value: 20
|
||||||
|
8 4 ? fixed value: 16
|
||||||
|
12 4 ? fixed value: 1
|
||||||
|
16 4 ? fixed value: 0
|
||||||
|
20 4 ? text length (the same value as "text length" in the PalmDoc header)
|
||||||
|
24 4 ? fixed value: 0
|
||||||
|
28 4 ? fixed value: 32
|
||||||
|
32 4 ? fixed value: 8
|
||||||
|
36 2 ? fixed value: 1
|
||||||
|
38 2 ? fixed value: 1
|
||||||
|
40 4 ? fixed value: 0
|
||||||
|
|
||||||
|
|
||||||
|
End-of-file Record
|
||||||
|
------------------
|
||||||
|
|
||||||
|
The end-of-file record is a fixed 4-byte record. While the last two bytes
|
||||||
|
appear to be a CRLF marker, the meaning of the first two bytes is unknown.
|
||||||
|
|
||||||
|
offset bytes content comments
|
||||||
|
0 1 ? fixed value: 233 (0xe9)
|
||||||
|
1 1 ? fixed value: 142 (0x8e)
|
||||||
|
2 1 ? fixed value: 13 (0x0d)
|
||||||
|
3 1 ? fixed value: 10 (0x0a)
|
||||||
|
|
||||||
|
|
||||||
|
SRCS Record
|
||||||
|
-----------
|
||||||
|
|
||||||
|
kindlegen creates a record whose content is a zip archive of all source files
|
||||||
|
(i.e., .opf, .ncx, .htm, .jpg, ...) given to the command and puts it in the
|
||||||
|
generated MOBI file. The record begins with the "SRCS" signature and is
|
||||||
|
located just before the #End-of-file Record.
|
||||||
|
|
||||||
|
MOBI files created with Mobipocket creator, Amazon's Personal Document Service,
|
||||||
|
or Kindle Direct Publishing (former Amazon DTP) don't include SRCS record.
|
||||||
|
In a past, kindlegen had an undocumented option to suppress this record, but
|
||||||
|
the option was removed in 2010.
|
||||||
|
|
||||||
|
offset bytes content comments
|
||||||
|
0 4 identifier "SRCS" (0x53 0x52 0x43 0x53)
|
||||||
|
4 4 ? fixed value(?): 0x00000010
|
||||||
|
8 4 ? fixed value(?): 0x0000002f
|
||||||
|
12 4 ? fixed value(?): 0x00000001
|
||||||
|
16 zip The zip archive continues to the end of this record
|
||||||
|
|
||||||
|
|
||||||
MBP
|
MBP
|
||||||
---
|
---
|
||||||
|
|
||||||
|
BIN
icons/favicon.ico
Normal file
BIN
icons/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 158 KiB |
@ -1,8 +1,11 @@
|
|||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
import re
|
||||||
|
|
||||||
class DrawAndCook(BasicNewsRecipe):
|
class DrawAndCook(BasicNewsRecipe):
|
||||||
title = 'DrawAndCook'
|
title = 'DrawAndCook'
|
||||||
__author__ = 'Starson17'
|
__author__ = 'Starson17'
|
||||||
|
__version__ = 'v1.10'
|
||||||
|
__date__ = '13 March 2011'
|
||||||
description = 'Drawings of recipes!'
|
description = 'Drawings of recipes!'
|
||||||
language = 'en'
|
language = 'en'
|
||||||
publisher = 'Starson17'
|
publisher = 'Starson17'
|
||||||
@ -13,6 +16,7 @@ class DrawAndCook(BasicNewsRecipe):
|
|||||||
remove_javascript = True
|
remove_javascript = True
|
||||||
remove_empty_feeds = True
|
remove_empty_feeds = True
|
||||||
cover_url = 'http://farm5.static.flickr.com/4043/4471139063_4dafced67f_o.jpg'
|
cover_url = 'http://farm5.static.flickr.com/4043/4471139063_4dafced67f_o.jpg'
|
||||||
|
INDEX = 'http://www.theydrawandcook.com'
|
||||||
max_articles_per_feed = 30
|
max_articles_per_feed = 30
|
||||||
|
|
||||||
remove_attributes = ['style', 'font']
|
remove_attributes = ['style', 'font']
|
||||||
@ -34,20 +38,21 @@ class DrawAndCook(BasicNewsRecipe):
|
|||||||
date = ''
|
date = ''
|
||||||
current_articles = []
|
current_articles = []
|
||||||
soup = self.index_to_soup(url)
|
soup = self.index_to_soup(url)
|
||||||
recipes = soup.findAll('div', attrs={'class': 'date-outer'})
|
featured_major_slider = soup.find(name='div', attrs={'id':'featured_major_slider'})
|
||||||
|
recipes = featured_major_slider.findAll('li', attrs={'data-id': re.compile(r'artwork_entry_\d+', re.DOTALL)})
|
||||||
for recipe in recipes:
|
for recipe in recipes:
|
||||||
title = recipe.h3.a.string
|
page_url = self.INDEX + recipe.a['href']
|
||||||
page_url = recipe.h3.a['href']
|
print 'page_url is: ', page_url
|
||||||
|
title = recipe.find('strong').string
|
||||||
|
print 'title is: ', title
|
||||||
current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':date})
|
current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':date})
|
||||||
return current_articles
|
return current_articles
|
||||||
|
|
||||||
|
keep_only_tags = [dict(name='h1', attrs={'id':'page_title'})
|
||||||
keep_only_tags = [dict(name='h3', attrs={'class':'post-title entry-title'})
|
,dict(name='section', attrs={'id':'artwork'})
|
||||||
,dict(name='div', attrs={'class':'post-body entry-content'})
|
|
||||||
]
|
]
|
||||||
|
|
||||||
remove_tags = [dict(name='div', attrs={'class':['separator']})
|
remove_tags = [dict(name='article', attrs={'id':['recipe_actions', 'metadata']})
|
||||||
,dict(name='div', attrs={'class':['post-share-buttons']})
|
|
||||||
]
|
]
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
42
recipes/aachener_nachrichten.recipe
Normal file
42
recipes/aachener_nachrichten.recipe
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
from calibre.web.feeds.recipes import BasicNewsRecipe
|
||||||
|
class AdvancedUserRecipe(BasicNewsRecipe):
|
||||||
|
|
||||||
|
title = u'Aachener Nachrichten'
|
||||||
|
__author__ = 'schuster'
|
||||||
|
oldest_article = 1
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
use_embedded_content = False
|
||||||
|
language = 'de'
|
||||||
|
remove_javascript = True
|
||||||
|
cover_url = 'http://www.an-online.de/einwaage/images/an_logo.png'
|
||||||
|
masthead_url = 'http://www.an-online.de/einwaage/images/an_logo.png'
|
||||||
|
extra_css = '''
|
||||||
|
.fliesstext_detail:{margin-bottom:10%;}
|
||||||
|
.headline_1:{margin-bottom:25%;}
|
||||||
|
b{font-family:Arial,Helvetica,sans-serif; font-weight:200;font-size:large;}
|
||||||
|
a{font-family:Arial,Helvetica,sans-serif; font-weight:400;font-size:large;}
|
||||||
|
ll{font-family:Arial,Helvetica,sans-serif; font-weight:100;font-size:large;}
|
||||||
|
h4{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
|
||||||
|
img {min-width:300px; max-width:600px; min-height:300px; max-height:800px}
|
||||||
|
dd{font-family:Arial,Helvetica,sans-serif;font-size:large;}
|
||||||
|
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='span', attrs={'class':['fliesstext_detail', 'headline_1', 'autor_detail']}),
|
||||||
|
dict(id=['header-logo'])
|
||||||
|
]
|
||||||
|
|
||||||
|
feeds = [(u'Euregio', u'http://www.an-online.de/an/rss/Euregio.xml'),
|
||||||
|
(u'Aachen', u'http://www.an-online.de/an/rss/Aachen.xml'),
|
||||||
|
(u'Nordkreis', u'http://www.an-online.de/an/rss/Nordkreis.xml'),
|
||||||
|
(u'Düren', u'http://www.an-online.de/an/rss/Dueren.xml'),
|
||||||
|
(u'Eiffel', u'http://www.an-online.de/an/rss/Eifel.xml'),
|
||||||
|
(u'Eschweiler', u'http://www.an-online.de/an/rss/Eschweiler.xml'),
|
||||||
|
(u'Geilenkirchen', u'http://www.an-online.de/an/rss/Geilenkirchen.xml'),
|
||||||
|
(u'Heinsberg', u'http://www.an-online.de/an/rss/Heinsberg.xml'),
|
||||||
|
(u'Jülich', u'http://www.an-online.de/an/rss/Juelich.xml'),
|
||||||
|
(u'Stolberg', u'http://www.an-online.de/an/rss/Stolberg.xml'),
|
||||||
|
(u'Ratgebenr', u'http://www.an-online.de/an/rss/Ratgeber.xml')]
|
62
recipes/al_ahram.recipe
Normal file
62
recipes/al_ahram.recipe
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# coding=utf-8
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = '2011, Hassan Williamson <haz at hazrpg.co.uk>'
|
||||||
|
'''
|
||||||
|
ahram.org.eg
|
||||||
|
'''
|
||||||
|
from calibre.web.feeds.recipes import BasicNewsRecipe
|
||||||
|
|
||||||
|
class AlAhram(BasicNewsRecipe):
|
||||||
|
title = 'Al-Ahram'
|
||||||
|
__author__ = 'Hassan Williamson'
|
||||||
|
description = 'News from Egypt in Arabic.'
|
||||||
|
oldest_article = 7
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
no_stylesheets = True
|
||||||
|
#delay = 1
|
||||||
|
use_embedded_content = False
|
||||||
|
encoding = 'utf8'
|
||||||
|
publisher = 'Al-Ahram'
|
||||||
|
category = 'News'
|
||||||
|
language = 'ar'
|
||||||
|
publication_type = 'newsportal'
|
||||||
|
extra_css = ' body{ font-family: Verdana,Helvetica,Arial,sans-serif; direction: rtl; } .txtTitle{ font-weight: bold; } '
|
||||||
|
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='div', attrs={'class':['bbcolright']})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['bbnav', 'bbsp']}),
|
||||||
|
dict(name='div', attrs={'id':['AddThisButton']})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_attributes = [
|
||||||
|
'width','height'
|
||||||
|
]
|
||||||
|
|
||||||
|
feeds = [
|
||||||
|
(u'الأولى', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=25'),
|
||||||
|
(u'مصر', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=27'),
|
||||||
|
(u'المحافظات', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=29'),
|
||||||
|
(u'الوطن العربي', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=31'),
|
||||||
|
(u'العالم', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=26'),
|
||||||
|
(u'تقارير المراسلين', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=2'),
|
||||||
|
(u'تحقيقات', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=3'),
|
||||||
|
(u'قضايا واراء', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=4'),
|
||||||
|
(u'اقتصاد', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=5'),
|
||||||
|
(u'رياضة', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=6'),
|
||||||
|
(u'حوادث', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=38'),
|
||||||
|
(u'دنيا الثقافة', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=7'),
|
||||||
|
(u'المراة والطفل', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=8'),
|
||||||
|
(u'يوم جديد', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=9'),
|
||||||
|
(u'الكتاب', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=10'),
|
||||||
|
(u'الاعمدة', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=11'),
|
||||||
|
(u'أراء حرة', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=59'),
|
||||||
|
(u'ملفات الاهرام', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=12'),
|
||||||
|
(u'بريد الاهرام', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=15'),
|
||||||
|
(u'الاخيرة', 'http://www.ahram.org.eg/RssXml.aspx?CategoryID=16'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
43
recipes/alt_om_herning.recipe
Normal file
43
recipes/alt_om_herning.recipe
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = '2011, Rasmus Lauritsen <rasmus at lauritsen.info>'
|
||||||
|
'''
|
||||||
|
aoh.dk
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class aoh_dk(BasicNewsRecipe):
|
||||||
|
title = 'Alt om Herning'
|
||||||
|
__author__ = 'Rasmus Lauritsen'
|
||||||
|
description = 'Nyheder fra Herning om omegn'
|
||||||
|
publisher = 'Mediehuset Herning Folkeblad'
|
||||||
|
category = 'news, local, Denmark'
|
||||||
|
oldest_article = 14
|
||||||
|
max_articles_per_feed = 50
|
||||||
|
no_stylesheets = True
|
||||||
|
delay = 1
|
||||||
|
encoding = 'utf8'
|
||||||
|
use_embedded_content = False
|
||||||
|
language = 'da'
|
||||||
|
extra_css = """ body{font-family: Verdana,Arial,sans-serif }
|
||||||
|
img{margin-bottom: 0.4em}
|
||||||
|
.txtContent,.stamp{font-size: small}
|
||||||
|
"""
|
||||||
|
|
||||||
|
conversion_options = {
|
||||||
|
'comment' : description
|
||||||
|
, 'tags' : category
|
||||||
|
, 'publisher' : publisher
|
||||||
|
, 'language' : language
|
||||||
|
}
|
||||||
|
|
||||||
|
feeds = [(u'All news', u'http://aoh.dk/rss.xml')]
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='h1')
|
||||||
|
,dict(name='span', attrs={'class':['frontpage_body']})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name=['object','link'])
|
||||||
|
]
|
@ -6,12 +6,13 @@ __copyright__ = 'Copyright 2010 Starson17'
|
|||||||
www.arcamax.com
|
www.arcamax.com
|
||||||
'''
|
'''
|
||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
from calibre.ebooks.BeautifulSoup import Tag
|
||||||
|
|
||||||
class Arcamax(BasicNewsRecipe):
|
class Arcamax(BasicNewsRecipe):
|
||||||
title = 'Arcamax'
|
title = 'Arcamax'
|
||||||
__author__ = 'Starson17'
|
__author__ = 'Starson17'
|
||||||
__version__ = '1.03'
|
__version__ = '1.04'
|
||||||
__date__ = '25 November 2010'
|
__date__ = '18 April 2011'
|
||||||
description = u'Family Friendly Comics - Customize for more days/comics: Defaults to 7 days, 25 comics - 20 general, 5 editorial.'
|
description = u'Family Friendly Comics - Customize for more days/comics: Defaults to 7 days, 25 comics - 20 general, 5 editorial.'
|
||||||
category = 'news, comics'
|
category = 'news, comics'
|
||||||
language = 'en'
|
language = 'en'
|
||||||
@ -30,8 +31,15 @@ class Arcamax(BasicNewsRecipe):
|
|||||||
, 'language' : language
|
, 'language' : language
|
||||||
}
|
}
|
||||||
|
|
||||||
keep_only_tags = [dict(name='div', attrs={'class':['toon']}),
|
keep_only_tags = [dict(name='div', attrs={'class':['comics-header']}),
|
||||||
]
|
dict(name='b', attrs={'class':['current']}),
|
||||||
|
dict(name='article', attrs={'class':['comic']}),
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [dict(name='div', attrs={'id':['comicfull' ]}),
|
||||||
|
dict(name='div', attrs={'class':['calendar' ]}),
|
||||||
|
dict(name='nav', attrs={'class':['calendar-nav' ]}),
|
||||||
|
]
|
||||||
|
|
||||||
def parse_index(self):
|
def parse_index(self):
|
||||||
feeds = []
|
feeds = []
|
||||||
@ -71,7 +79,6 @@ class Arcamax(BasicNewsRecipe):
|
|||||||
#(u"Rugrats", u"http://www.arcamax.com/rugrats"),
|
#(u"Rugrats", u"http://www.arcamax.com/rugrats"),
|
||||||
(u"Speed Bump", u"http://www.arcamax.com/speedbump"),
|
(u"Speed Bump", u"http://www.arcamax.com/speedbump"),
|
||||||
(u"Wizard of Id", u"http://www.arcamax.com/wizardofid"),
|
(u"Wizard of Id", u"http://www.arcamax.com/wizardofid"),
|
||||||
(u"Dilbert", u"http://www.arcamax.com/dilbert"),
|
|
||||||
(u"Zits", u"http://www.arcamax.com/zits"),
|
(u"Zits", u"http://www.arcamax.com/zits"),
|
||||||
]:
|
]:
|
||||||
articles = self.make_links(url)
|
articles = self.make_links(url)
|
||||||
@ -86,25 +93,37 @@ class Arcamax(BasicNewsRecipe):
|
|||||||
for page in pages:
|
for page in pages:
|
||||||
page_soup = self.index_to_soup(url)
|
page_soup = self.index_to_soup(url)
|
||||||
if page_soup:
|
if page_soup:
|
||||||
title = page_soup.find(name='div', attrs={'class':'toon'}).p.img['alt']
|
title = self.tag_to_string(page_soup.find(name='div', attrs={'class':'comics-header'}).h1.contents[0])
|
||||||
page_url = url
|
page_url = url
|
||||||
prev_page_url = 'http://www.arcamax.com' + page_soup.find('a', attrs={'class':'next'}, text='Previous').parent['href']
|
# orig prev_page_url = 'http://www.arcamax.com' + page_soup.find('a', attrs={'class':'prev'}, text='Previous').parent['href']
|
||||||
current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':''})
|
prev_page_url = 'http://www.arcamax.com' + page_soup.find('span', text='Previous').parent.parent['href']
|
||||||
|
date = self.tag_to_string(page_soup.find(name='b', attrs={'class':['current']}))
|
||||||
|
current_articles.append({'title': title, 'url': page_url, 'description':'', 'date': date})
|
||||||
url = prev_page_url
|
url = prev_page_url
|
||||||
current_articles.reverse()
|
current_articles.reverse()
|
||||||
return current_articles
|
return current_articles
|
||||||
|
|
||||||
def preprocess_html(self, soup):
|
def preprocess_html(self, soup):
|
||||||
main_comic = soup.find('p',attrs={'class':'m0'})
|
for img_tag in soup.findAll('img'):
|
||||||
if main_comic.a['target'] == '_blank':
|
parent_tag = img_tag.parent
|
||||||
main_comic.a.img['id'] = 'main_comic'
|
if parent_tag.name == 'a':
|
||||||
|
new_tag = Tag(soup,'p')
|
||||||
|
new_tag.insert(0,img_tag)
|
||||||
|
parent_tag.replaceWith(new_tag)
|
||||||
|
elif parent_tag.name == 'p':
|
||||||
|
if not self.tag_to_string(parent_tag) == '':
|
||||||
|
new_div = Tag(soup,'div')
|
||||||
|
new_tag = Tag(soup,'p')
|
||||||
|
new_tag.insert(0,img_tag)
|
||||||
|
parent_tag.replaceWith(new_div)
|
||||||
|
new_div.insert(0,new_tag)
|
||||||
|
new_div.insert(1,parent_tag)
|
||||||
return soup
|
return soup
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
||||||
h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
|
h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
|
||||||
h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
|
h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
|
||||||
img#main_comic {max-width:100%; min-width:100%;}
|
img {max-width:100%; min-width:100%;}
|
||||||
p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
|
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
|
||||||
'''
|
'''
|
||||||
|
|
16
recipes/auto_blog.recipe
Normal file
16
recipes/auto_blog.recipe
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class AutoBlog(BasicNewsRecipe):
|
||||||
|
title = u'Auto Blog'
|
||||||
|
__author__ = 'Welovelucy'
|
||||||
|
language = 'en'
|
||||||
|
description = 'Auto industry news'
|
||||||
|
oldest_article = 7
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
|
||||||
|
feeds = [(u'AutoBlog', u'http://www.autoblog.com/rss.xml')]
|
||||||
|
|
||||||
|
def print_version(self, url):
|
||||||
|
return url + 'print/'
|
||||||
|
|
||||||
|
|
55
recipes/autobild.recipe
Normal file
55
recipes/autobild.recipe
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = u'2011, Silviu Cotoar\u0103'
|
||||||
|
'''
|
||||||
|
auto-bild.ro
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class AutoBild(BasicNewsRecipe):
|
||||||
|
title = u'Auto Bild'
|
||||||
|
__author__ = u'Silviu Cotoar\u0103'
|
||||||
|
description = 'Auto'
|
||||||
|
publisher = 'Auto Bild'
|
||||||
|
oldest_article = 50
|
||||||
|
language = 'ro'
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
no_stylesheets = True
|
||||||
|
use_embedded_content = False
|
||||||
|
category = 'Ziare,Reviste,Auto'
|
||||||
|
encoding = 'utf-8'
|
||||||
|
cover_url = 'http://www.auto-bild.ro/images/autobild.gif'
|
||||||
|
|
||||||
|
conversion_options = {
|
||||||
|
'comments' : description
|
||||||
|
,'tags' : category
|
||||||
|
,'language' : language
|
||||||
|
,'publisher' : publisher
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='div', attrs={'class':'box_2 articol clearfix'})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['detail']})
|
||||||
|
, dict(name='a', attrs={'id':['zoom_link']})
|
||||||
|
, dict(name='div', attrs={'class':['icons clearfix']})
|
||||||
|
, dict(name='div', attrs={'class':['pub_articol clearfix']})
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags_after = [
|
||||||
|
dict(name='div', attrs={'class':['pub_articol clearfix']})
|
||||||
|
]
|
||||||
|
|
||||||
|
feeds = [
|
||||||
|
(u'Feeds', u'http://www.auto-bild.ro/rss/toate')
|
||||||
|
]
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
return self.adeify_images(soup)
|
57
recipes/avantaje.recipe
Normal file
57
recipes/avantaje.recipe
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = u'2011, Silviu Cotoar\u0103'
|
||||||
|
'''
|
||||||
|
avantaje.ro
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class Avantaje(BasicNewsRecipe):
|
||||||
|
title = u'Avantaje'
|
||||||
|
__author__ = u'Silviu Cotoar\u0103'
|
||||||
|
description = u''
|
||||||
|
publisher = u'Avantaje'
|
||||||
|
oldest_article = 25
|
||||||
|
language = 'ro'
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
no_stylesheets = True
|
||||||
|
use_embedded_content = False
|
||||||
|
category = 'Ziare,Reviste,Stiri'
|
||||||
|
encoding = 'utf-8'
|
||||||
|
cover_url = 'http://www.avantaje.ro/images/default/logo.gif'
|
||||||
|
|
||||||
|
conversion_options = {
|
||||||
|
'comments' : description
|
||||||
|
,'tags' : category
|
||||||
|
,'language' : language
|
||||||
|
,'publisher' : publisher
|
||||||
|
}
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='div', attrs={'id':'articol'})
|
||||||
|
, dict(name='div', attrs={'class':'gallery clearfix'})
|
||||||
|
, dict(name='div', attrs={'align':'justify'})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'id':['color_sanatate_box']})
|
||||||
|
, dict(name='div', attrs={'class':['nav']})
|
||||||
|
, dict(name='div', attrs={'class':['voteaza_art']})
|
||||||
|
, dict(name='div', attrs={'class':['bookmark']})
|
||||||
|
, dict(name='div', attrs={'class':['links clearfix']})
|
||||||
|
, dict(name='div', attrs={'class':['title']})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags_after = [
|
||||||
|
dict(name='div', attrs={'class':['title']})
|
||||||
|
]
|
||||||
|
|
||||||
|
feeds = [
|
||||||
|
(u'Feeds', u'http://feeds.feedburner.com/Avantaje')
|
||||||
|
]
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
return self.adeify_images(soup)
|
59
recipes/babyonline.recipe
Normal file
59
recipes/babyonline.recipe
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = u'2011, Silviu Cotoar\u0103'
|
||||||
|
'''
|
||||||
|
babyonline.ro
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class BabyOnline(BasicNewsRecipe):
|
||||||
|
title = u'Baby Online'
|
||||||
|
__author__ = u'Silviu Cotoar\u0103'
|
||||||
|
description = u'De la p\u0103rinte la p\u0103rinte'
|
||||||
|
publisher = u'Baby Online'
|
||||||
|
oldest_article = 50
|
||||||
|
language = 'ro'
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
no_stylesheets = True
|
||||||
|
use_embedded_content = False
|
||||||
|
category = 'Ziare,Reviste,Copii,Mame'
|
||||||
|
encoding = 'utf-8'
|
||||||
|
cover_url = 'http://www.babyonline.ro/images/default/logo.gif'
|
||||||
|
|
||||||
|
conversion_options = {
|
||||||
|
'comments' : description
|
||||||
|
,'tags' : category
|
||||||
|
,'language' : language
|
||||||
|
,'publisher' : publisher
|
||||||
|
}
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='div', attrs={'id':'article_container'})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'id':'bar_nav'}),
|
||||||
|
dict(name='div', attrs={'id':'service_send'}),
|
||||||
|
dict(name='div', attrs={'id':'other_videos'}),
|
||||||
|
dict(name='div', attrs={'class':'dot_line_yellow'}),
|
||||||
|
dict(name='a', attrs={'class':'print'}),
|
||||||
|
dict(name='a', attrs={'class':'email'}),
|
||||||
|
dict(name='a', attrs={'class':'YM'}),
|
||||||
|
dict(name='a', attrs={'class':'comment'}),
|
||||||
|
dict(name='div', attrs={'class':'tombstone_cross'}),
|
||||||
|
dict(name='span', attrs={'class':'liketext'})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags_after = [
|
||||||
|
dict(name='div', attrs={'id':'service_send'})
|
||||||
|
]
|
||||||
|
|
||||||
|
feeds = [
|
||||||
|
(u'Feeds', u'http://www.babyonline.ro/rss_homepage.xml')
|
||||||
|
]
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
return self.adeify_images(soup)
|
46
recipes/bay_citizen.recipe
Normal file
46
recipes/bay_citizen.recipe
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class TheBayCitizen(BasicNewsRecipe):
|
||||||
|
title = 'The Bay Citizen'
|
||||||
|
language = 'en'
|
||||||
|
__author__ = 'noah'
|
||||||
|
description = 'The Bay Citizen'
|
||||||
|
publisher = 'The Bay Citizen'
|
||||||
|
INDEX = u'http://www.baycitizen.org'
|
||||||
|
category = 'news'
|
||||||
|
oldest_article = 2
|
||||||
|
max_articles_per_feed = 20
|
||||||
|
no_stylesheets = True
|
||||||
|
masthead_url = 'http://media.baycitizen.org/images/layout/logo1.png'
|
||||||
|
feeds = [('Main Feed', 'http://www.baycitizen.org/feeds/stories/')]
|
||||||
|
keep_only_tags = [dict(name='div', attrs={'class':'story'})]
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':'socialBar'}),
|
||||||
|
dict(name='div', attrs={'id':'text-resize'}),
|
||||||
|
dict(name='div', attrs={'class':'story relatedContent'}),
|
||||||
|
dict(name='div', attrs={'id':'comment_status_loading'}),
|
||||||
|
]
|
||||||
|
|
||||||
|
def append_page(self, soup, appendtag, position):
|
||||||
|
pager = soup.find('a',attrs={'class':'stry-next'})
|
||||||
|
if pager:
|
||||||
|
nexturl = self.INDEX + pager['href']
|
||||||
|
soup2 = self.index_to_soup(nexturl)
|
||||||
|
texttag = soup2.find('div', attrs={'class':'body'})
|
||||||
|
for it in texttag.findAll(style=True):
|
||||||
|
del it['style']
|
||||||
|
newpos = len(texttag.contents)
|
||||||
|
self.append_page(soup2,texttag,newpos)
|
||||||
|
texttag.extract()
|
||||||
|
appendtag.insert(position,texttag)
|
||||||
|
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for item in soup.findAll(style=True):
|
||||||
|
del item['style']
|
||||||
|
self.append_page(soup, soup.body, 3)
|
||||||
|
garbage = soup.findAll(id='story-pagination')
|
||||||
|
[trash.extract() for trash in garbage]
|
||||||
|
garbage = soup.findAll('em', 'cont-from-prev')
|
||||||
|
[trash.extract() for trash in garbage]
|
||||||
|
return soup
|
@ -23,7 +23,7 @@ class BigOven(BasicNewsRecipe):
|
|||||||
, 'publisher' : publisher
|
, 'publisher' : publisher
|
||||||
, 'language' : language
|
, 'language' : language
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_browser(self):
|
def get_browser(self):
|
||||||
br = BasicNewsRecipe.get_browser()
|
br = BasicNewsRecipe.get_browser()
|
||||||
if self.username is not None and self.password is not None:
|
if self.username is not None and self.password is not None:
|
||||||
@ -36,29 +36,38 @@ class BigOven(BasicNewsRecipe):
|
|||||||
|
|
||||||
remove_attributes = ['style', 'font']
|
remove_attributes = ['style', 'font']
|
||||||
|
|
||||||
remove_tags = [dict(name='div', attrs={'class':['ppy-caption']})
|
def get_article_url(self, article):
|
||||||
,dict(name='div', attrs={'id':['float_corner']})
|
url = article.get('feedburner_origlink',article.get('link', None))
|
||||||
]
|
front, middle, end = url.partition('comhttp//www.bigoven.com')
|
||||||
|
url = front + 'com' + end
|
||||||
|
return url
|
||||||
|
|
||||||
|
keep_only_tags = [dict(name='div', attrs={'id':['nosidebar_main']})]
|
||||||
|
|
||||||
|
remove_tags_after = [dict(name='div', attrs={'class':['display-field']})]
|
||||||
|
|
||||||
|
remove_tags = [dict(name='ul', attrs={'class':['tabs']})]
|
||||||
|
|
||||||
|
preprocess_regexps = [
|
||||||
|
(re.compile(r'Want detailed nutrition information?', re.DOTALL), lambda match: ''),
|
||||||
|
(re.compile('\(You could win \$100 in our ', re.DOTALL), lambda match: ''),
|
||||||
|
]
|
||||||
|
|
||||||
def preprocess_html(self, soup):
|
def preprocess_html(self, soup):
|
||||||
for tag in soup.findAll(name='a', attrs={'class':['deflink']}):
|
|
||||||
tag.replaceWith(tag.string)
|
|
||||||
for tag in soup.findAll(name='a', text=re.compile(r'.*View Metric.*', re.DOTALL)):
|
for tag in soup.findAll(name='a', text=re.compile(r'.*View Metric.*', re.DOTALL)):
|
||||||
tag.parent.parent.extract()
|
tag.parent.parent.extract()
|
||||||
for tag in soup.findAll(name='a', text=re.compile(r'.*Add my own photo.*', re.DOTALL)):
|
for tag in soup.findAll(text=re.compile(r'.*Try BigOven Pro for Free.*', re.DOTALL)):
|
||||||
tag.parent.parent.extract()
|
tag.extract()
|
||||||
for tag in soup.findAll(name='div', attrs={'class':['container']}):
|
for tag in soup.findAll(text=re.compile(r'.*Add my photo of this recipe.*', re.DOTALL)):
|
||||||
if tag.find(name='h1'):
|
tag.parent.extract()
|
||||||
continue
|
for tag in soup.findAll(name='a', text=re.compile(r'.*photo contest.*', re.DOTALL)):
|
||||||
if tag.find(name='h2', text=re.compile(r'.*Ingredients.*', re.DOTALL)):
|
tag.parent.extract()
|
||||||
print 'tag found Ingred h2'
|
for tag in soup.findAll(name='a', text='Remove ads'):
|
||||||
continue
|
tag.parent.parent.extract()
|
||||||
if tag.find(name='h2', text=re.compile(r'Preparation.*', re.DOTALL)):
|
for tag in soup.findAll(name='ol', attrs={'class':['recipe-tags']}):
|
||||||
print 'tag found Prep h2'
|
tag.parent.extract()
|
||||||
continue
|
|
||||||
tag.extract()
|
|
||||||
return soup
|
return soup
|
||||||
|
|
||||||
feeds = [(u'4 & 5 Star Rated Recipes', u'http://feeds.feedburner.com/Bigovencom-RecipeRaves?format=xml')]
|
feeds = [(u'Recent Raves', u'http://www.bigoven.com/rss/recentraves'),
|
||||||
|
(u'Recipe Of The Day', u'http://feeds.feedburner.com/bigovencom-RecipeOfTheDay')]
|
||||||
|
|
12
recipes/big_picture.recipe
Normal file
12
recipes/big_picture.recipe
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class BigPicture(BasicNewsRecipe):
|
||||||
|
title = u'The Big Picture'
|
||||||
|
__author__ = 'Welovelucy'
|
||||||
|
description = ('Macro perspective on capital markets, economy, technology'
|
||||||
|
' and digital media')
|
||||||
|
language = 'en'
|
||||||
|
oldest_article = 7
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
|
||||||
|
feeds = [(u'Big Picture', u'http://feeds.feedburner.com/TheBigPicture')]
|
46
recipes/bild_de.recipe
Normal file
46
recipes/bild_de.recipe
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from calibre.web.feeds.recipes import BasicNewsRecipe
|
||||||
|
class AdvancedUserRecipe1303841067(BasicNewsRecipe):
|
||||||
|
title = u'Bild.de'
|
||||||
|
__author__ = 'schuster'
|
||||||
|
oldest_article = 1
|
||||||
|
max_articles_per_feed = 50
|
||||||
|
no_stylesheets = True
|
||||||
|
use_embedded_content = False
|
||||||
|
language = 'de'
|
||||||
|
remove_javascript = True
|
||||||
|
|
||||||
|
# get cover from myspace
|
||||||
|
cover_url = 'http://a3.l3-images.myspacecdn.com/images02/56/0232f842170b4d349779f8379c27e073/l.jpg'
|
||||||
|
|
||||||
|
# set what to fetch on the site
|
||||||
|
remove_tags_before = dict(name = 'h2', attrs={'id':'cover'})
|
||||||
|
remove_tags_after = dict(name ='div', attrs={'class':'back'})
|
||||||
|
|
||||||
|
# thanx to kiklop74 for code (see sticky thread -> Recipes - Re-usable code)
|
||||||
|
# this one removes a lot of direct-link's
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for alink in soup.findAll('a'):
|
||||||
|
if alink.string is not None:
|
||||||
|
tstr = alink.string
|
||||||
|
alink.replaceWith(tstr)
|
||||||
|
return soup
|
||||||
|
|
||||||
|
# remove the ad's
|
||||||
|
filter_regexps = [r'.\.smartadserver\.com']
|
||||||
|
def skip_ad_pages(self, soup):
|
||||||
|
return None
|
||||||
|
|
||||||
|
#get the real url behind .feedsportal.com and fetch the artikels
|
||||||
|
def get_article_url(self, article):
|
||||||
|
return article.get('id', article.get('guid', None))
|
||||||
|
|
||||||
|
#list of the rss source from www.bild.de
|
||||||
|
feeds = [(u'Überblick', u'http://rss.bild.de/bild.xml'),
|
||||||
|
(u'News', u'http://rss.bild.de/bild-news.xml'),
|
||||||
|
(u'Politik', u'http://rss.bild.de/bild-politik.xml'),
|
||||||
|
(u'Unterhaltung', u'http://rss.bild.de/bild-unterhaltung.xml'),
|
||||||
|
(u'Sport', u'http://rss.bild.de/bild-sport.xml'),
|
||||||
|
(u'Lifestyle', u'http://rss.bild.de/bild-lifestyle.xml'),
|
||||||
|
(u'Ratgeber', u'http://rss.bild.de/bild-ratgeber.xml')
|
||||||
|
]
|
33
recipes/borse_online.recipe
Normal file
33
recipes/borse_online.recipe
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
from calibre.web.feeds.recipes import BasicNewsRecipe
|
||||||
|
class AdvancedUserRecipe1303841067(BasicNewsRecipe):
|
||||||
|
|
||||||
|
title = u'Börse-online'
|
||||||
|
__author__ = 'schuster'
|
||||||
|
oldest_article = 1
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
no_stylesheets = True
|
||||||
|
use_embedded_content = False
|
||||||
|
language = 'de'
|
||||||
|
remove_javascript = True
|
||||||
|
cover_url = 'http://www.dpv.de/images/1995/source.gif'
|
||||||
|
masthead_url = 'http://www.zeitschriften-cover.de/cover/boerse-online-cover-januar-2010-x1387.jpg'
|
||||||
|
extra_css = '''
|
||||||
|
h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
|
||||||
|
h4{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
|
||||||
|
img {min-width:300px; max-width:600px; min-height:300px; max-height:800px}
|
||||||
|
p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
|
||||||
|
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
|
||||||
|
'''
|
||||||
|
remove_tags_bevor = [dict(name='h3')]
|
||||||
|
remove_tags_after = [dict(name='div', attrs={'class':'artikelfuss'})]
|
||||||
|
remove_tags = [dict(attrs={'class':['moduleTopNav', 'moduleHeaderNav', 'text', 'blau', 'poll1150']}),
|
||||||
|
dict(id=['newsletterlayer', 'newsletterlayerClose', 'newsletterlayer_body', 'newsletterarray_error', 'newsletterlayer_emailadress', 'newsletterlayer_submit', 'kommentar']),
|
||||||
|
dict(name=['h2', 'Gesamtranking', 'h3',''])]
|
||||||
|
|
||||||
|
def print_version(self, url):
|
||||||
|
return url.replace('.html#nv=rss', '.html?mode=print')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
feeds = [(u'Börsennachrichten', u'http://www.boerse-online.de/rss/')]
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__copyright__ = '2010, Constantin Hofstetter <consti at consti.de>, Steffen Siebert <calibre at steffensiebert.de>'
|
__copyright__ = '2010, Constantin Hofstetter <consti at consti.de>, Steffen Siebert <calibre at steffensiebert.de>'
|
||||||
__version__ = '0.97'
|
__version__ = '0.98'
|
||||||
|
|
||||||
''' http://brandeins.de - Wirtschaftsmagazin '''
|
''' http://brandeins.de - Wirtschaftsmagazin '''
|
||||||
import re
|
import re
|
||||||
@ -106,10 +106,11 @@ class BrandEins(BasicNewsRecipe):
|
|||||||
keys = issue_map.keys()
|
keys = issue_map.keys()
|
||||||
keys.sort()
|
keys.sort()
|
||||||
keys.reverse()
|
keys.reverse()
|
||||||
selected_issue = issue_map[keys[issue-1]]
|
selected_issue_key = keys[issue - 1]
|
||||||
|
selected_issue = issue_map[selected_issue_key]
|
||||||
url = selected_issue.get('href', False)
|
url = selected_issue.get('href', False)
|
||||||
# Get the title for the magazin - build it out of the title of the cover - take the issue and year;
|
# Get the title for the magazin - build it out of the title of the cover - take the issue and year;
|
||||||
self.title = "brand eins "+ re.search(r"(?P<date>\d\d\/\d\d\d\d)", selected_issue.find('img').get('title', False)).group('date')
|
self.title = "brand eins " + selected_issue_key[4:] + "/" + selected_issue_key[0:4]
|
||||||
url = 'http://brandeins.de/'+url
|
url = 'http://brandeins.de/'+url
|
||||||
|
|
||||||
# url = "http://www.brandeins.de/archiv/magazin/tierisch.html"
|
# url = "http://www.brandeins.de/archiv/magazin/tierisch.html"
|
||||||
@ -162,3 +163,4 @@ class BrandEins(BasicNewsRecipe):
|
|||||||
current_articles.append({'title': title, 'url': url, 'description': description, 'date':''})
|
current_articles.append({'title': title, 'url': url, 'description': description, 'date':''})
|
||||||
titles_and_articles.append([chapter_title, current_articles])
|
titles_and_articles.append([chapter_title, current_articles])
|
||||||
return titles_and_articles
|
return titles_and_articles
|
||||||
|
|
56
recipes/bucataras.recipe
Normal file
56
recipes/bucataras.recipe
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = u'2011, Silviu Cotoar\u0103'
|
||||||
|
'''
|
||||||
|
bucataras.ro
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class Bucataras(BasicNewsRecipe):
|
||||||
|
title = u'Bucataras'
|
||||||
|
__author__ = u'Silviu Cotoar\u0103'
|
||||||
|
description = ''
|
||||||
|
publisher = 'Bucataras'
|
||||||
|
oldest_article = 5
|
||||||
|
language = 'ro'
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
no_stylesheets = True
|
||||||
|
use_embedded_content = False
|
||||||
|
category = 'Ziare,Bucatarie,Retete'
|
||||||
|
encoding = 'utf-8'
|
||||||
|
cover_url = 'http://www.bucataras.ro/templates/default/images/pink/logo.jpg'
|
||||||
|
|
||||||
|
conversion_options = {
|
||||||
|
'comments' : description
|
||||||
|
,'tags' : category
|
||||||
|
,'language' : language
|
||||||
|
,'publisher' : publisher
|
||||||
|
}
|
||||||
|
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='h1', attrs={'class':'titlu'})
|
||||||
|
, dict(name='div', attrs={'class':'contentL'})
|
||||||
|
, dict(name='div', attrs={'class':'contentBottom'})
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['sociale']})
|
||||||
|
, dict(name='div', attrs={'class':['contentR']})
|
||||||
|
, dict(name='a', attrs={'target':['_self']})
|
||||||
|
, dict(name='div', attrs={'class':['comentarii']})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags_after = [
|
||||||
|
dict(name='div', attrs={'class':['comentarii']})
|
||||||
|
]
|
||||||
|
|
||||||
|
feeds = [
|
||||||
|
(u'Feeds', u'http://www.bucataras.ro/rss/retete/')
|
||||||
|
]
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
return self.adeify_images(soup)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user