No description
Find a file
Charles Haley 8fe4db7040 Infrastructure for allowing a device to "synchronize" data with calibre's database. The exact meaning of "synchronize" is left to the device. This implementation adds almost zero overhead (nanoseconds per book) if the device driver does not do any synchronization.
During book matching in gui2.device, whenever a book on the device is matched to a book in the DB, the (new) device method synchronize_with_db is called. It can copy information from the device to calibre's db or vice versa. If it returns True then the book's metadata is updated from calibre's DB even if it otherwise would not be. This permits the synchronization process to request that data in calibre be unconditionally sent to the device.

Note that the synchronize_with_db method is called on the GUI thread. It is the device driver's responsibility to be threadsafe with respect to the device manager thread.

A lightly-tested implementation in the wireless driver is included to show how the new method might be used. It implements syncing a yes/no "is read" column and a "read date" column from the device to calibre.
2014-02-25 14:41:53 +01:00
format_docs Replace CRLF line endings 2013-05-28 11:42:53 +05:30
icons Change the color of the edit bookicon to distinguish it from the viewer icon more clearly 2013-12-31 19:11:37 +05:30
imgsrc Edit book: Add a tool to insert arbitrary unicode characters, such as special spaces or punctuation or characters from non-English languages into the text 2014-01-06 17:00:21 +05:30
manual ... 2014-02-21 10:46:17 +05:30
recipes Various Russian news source by bug_me_not 2014-02-24 08:43:40 +05:30
resources Utility code to download https URLs securely 2014-02-23 13:13:53 +05:30
setup py3 compat 2014-02-24 14:30:01 +05:30
src Infrastructure for allowing a device to "synchronize" data with calibre's database. The exact meaning of "synchronize" is left to the device. This implementation adds almost zero overhead (nanoseconds per book) if the device driver does not do any synchronization. 2014-02-25 14:41:53 +01:00
.gitattributes Update git filetype mappings 2013-06-06 10:28:48 +05:30
.gitignore Make sure eclipse files are ignored 2013-07-10 17:44:23 +02:00
Changelog.old.yaml Trim changelog 2014-01-17 11:05:30 +05:30
Changelog.yaml version 1.25 2014-02-21 09:09:59 +05:30
COPYRIGHT Initial import of Patience Diff C implementation from bzr 2014-01-16 20:43:13 +05:30
INSTALL Move User Manual to http://manual.calibre-ebook.com 2011-05-28 14:02:32 -06:00
LICENSE forgot to move LICENSE file to GPL v3 2008-04-04 14:23:29 -07:00
LICENSE.rtf ... 2011-02-18 22:24:49 -07:00
README.md Add a donate link to the readme 2014-01-21 14:15:52 +05:30
session.vim ... 2013-06-20 09:19:35 +05:30
setup.cfg ... 2013-05-03 00:32:45 +05:30
setup.py ... 2013-05-03 00:32:45 +05:30

calibre

calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading. It is cross platform, running on Linux, Windows and OS X.

For more information, see the calibre About page

Screenshots

Screenshots page

Usage

See the User Manual

Development

Setting up a development environment for calibre

A tarball of the source code for the current calibre release.

Bugs

Bug reports and feature requests should be made in the calibre bug tracker at launchpad. GitHub is only used for code hosting and pull requests.

Support calibre

calibre is a result of the efforts of many volunteers from all over the world. If you find it useful, please consider contributing to support its development. Donate to support calibre development.