Charles Haley 4a7f3f5717 Fix problem generating file names in send-to-device and possibly save-to-disk. The original code assumed that the last component always had an extension, which isn't true when evaluating templates to generate a file name. If the resulting string was too long and if last segment of the string contained a period then the remainder of the string after the period was assumed to be an extension. If that remainder was longer than permitted, shorten_components_to generated a path consisting of a single letter.
Example: if the template generated this string:
"Some of the Best From Tor.com, 2013 Edition_ A Tor.Com Original - A. B. C. Personn & Aa Angstrom & Anne McCaffrey & Banks, Iain M & Bruce Sterling & Cajkovskij, Petr Ilic & Chacko, David & Charlie Huston & Collins, Wilkie & D'Ansey, Leigh & Dahl, Roland & Edward Elmer _Doc_ Smith & Eric Flint & George Charon & Jules Verne (1422)"
then the "extension" was everything after the A. B. C., with a length that can easily exceed the max path len.
2014-12-23 11:31:17 +01:00
2013-05-28 11:42:53 +05:30
2014-12-22 21:02:32 +05:30
2014-12-21 13:21:38 +05:30
...
2014-06-17 14:23:24 +05:30
2013-06-06 10:28:48 +05:30
2014-12-19 08:33:58 +05:30
2014-05-21 10:15:50 +05:30
2008-04-04 14:23:29 -07:00
...
2011-02-18 22:24:49 -07:00
...
2013-05-03 00:32:45 +05:30
...
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.

Description
The official source code repository for the calibre ebook manager
Readme GPL-3.0 360 MiB
Languages
Python 92.6%
C 3.3%
C++ 3.1%
HTML 0.4%
Shell 0.2%
Other 0.2%