Originally Posted by Sweetpea
Originally Posted by chaley
Books downloaded from the content server are stored in the appropriate folder for the format using the name "title - author.extension". If that file already exists then a tie breaker number is added to the end.
Can I change that format?
Apologies for re-opening this thread, but it is directly relevant. I am considering adding two options to CC and would like comments.
The problem: there should be a way to guarantee that books arriving via the content server and via the wireless device connection get the same file names. This would simplify book management by ensuring that only one copy of the book is on the device regardless of how it got there. It would also improve integration with some reader apps that can sync reading position between devices (like moon+). In addition, some people want to use arbitrary path names for books downloaded via the content server.
Option one: an option to CC that tells it and calibre to use the book's unique ID (UUID) for the file name. This option is best for people (like me) who never look at file names. It ensures that the file name will not change even if the authors or title changes. It is also simplest to set up.
Option two: an option to CC that tells it and calibre to get the file path from a custom column. This ensures that the book will have the same file name regardless of which delivery path is used, but it does not guarantee that the book's filename will not change because the column's value might change. Slashes in the path will cause creation of directories. The user would need to ensure that the column's value is not too long. Also, the following characters will be changed to underscores to ensure MTP file name compatibility: |\?*<>":+.
To forestall at least one question: no, I am not going to attempt to port calibre's template language processor to android, so entering the base template instead of a custom column lookup name won't be possible.
Implementing these options will require changes to calibre. They won't work unless calibre is upgraded to whatever version ends up containing the code.