Home > Uncategorized > Case sensitivity in file/folder names in calibre library

Case sensitivity in file/folder names in calibre library

In a perfect world the case of file and folder names inside a Calibre library will match the values stored in the Calibre metadata database. However if Calibre is running on a system with a case insensitive file system (e.g Windows) if a case mismatch between the Calibre database and the underlying file system actually happens it is ignored and as a result the user is unaware of such mismatches.  If the Calibre library and/or the calibre2opds generated catalog are then run on a case sensitive system (e.g. Linux) then this case mismatch matters.   A visible symptom of such a  case mismatch in a calibre2opds generated catalog is that the catalog cannot find the underlying eBook files for those books that are affected.

Calibre2opds has now been upgraded to detect such mismatches in case between the Calibre metadata database and the underlying file system. This is handled at two levels:

  • The first level is to write warning messages to the calibre2opds log.   The user can then peruse the log and use the Calibre program to correct such mismatches.  The simplest way to do this in Calibre is to edit the Author by adding an extra character at the end and press OK. Having done this  rename the author back to the correct value and press OK again.  This double rename strategy will result in the underlying files matching the case set in the calibre metadata database.
  • The second level is a new option in calibre2opds (on the Main tab) to get Calibre2opds to automatically rename files to match the case stored in the Calibre database.  A secondary benefit of using this approach is that the resulting Calibre library can now be migrated to a system (e.g. Linux) without calibre losing track of the books in the library.  One word of caution is that since this option actually changes (slightly) the names of the files in the Calibre library it is advisable to make a backup of your library the first time you use it in case something goes wrong.  It is not believed that this is likely as extensive testing has been done to try and avoid it becoming an issue but until feedback is obtained on real-world usage such a precaution is just common sense.

Which of the above approaches is used is up to the user.   Feedback on how effective/useful  the two options are in real world usage would be appreciated.

To help make it more obvious to end-users that there is information of potential interest in the Calibre2opds log file the dialog displayed at the end of a generation run now also displays the counts (if any) of error or warning messages written to the current log.   The user can then select the option on the Tools menu to view the current log file to see what messages were logged.

Categories: Uncategorized
  1. 30/09/2019 at 15:56

    Is Calibre2OPDS dead now? I tried running it on a recent MacOS with up-to-date Java. The Calibre2OPDS app demands Java 6.

    • itimpi
      30/09/2019 at 16:31

      I make regular use of Calibre2opds but that is on a Windows system.

      Which release are you trying to use? I do not have a Mac to validate Calibre2opds releases but I know of no reason it should not work. The more recent releases are built using Java 8. My suspicion is that there is something in the plist file in the release that makes MacOS think that Java 6 is required when actually it should think a later release is fine.

      BTW: This WordPress site is going to stop working at the end of October as they are demanding a higher fee to keep the site than I am prepared to pay as basically there is little/no blog related activity for Calibre2opds. After that date any ongoing queries need to be done via the Related Tools section of the Calibre forum on MobileRead.com. All documentation, source, binaries will continue to be available as they are not hosted on WordPress.

  2. 30/09/2019 at 16:37

    Thank you for your prompt response! I posted this as an “issue” to Github back in January:

    “According to the calibre2opds.com/downloads/ page, V3.6-424 requires Java 7 or higher. When I try to run it, the MacOS displays a pop-up saying ‘To open “Calibre2Opds.app” you need to install the legacy Java SE 6 runtime.'”

    So, I’m using V3.6-424.

    I’m not sufficiently familiar with MacOS app architecture to guess how to fix this.

    • itimpi
      30/09/2019 at 18:23

      Is there any chance you can tell me where I can download ANY Java application in .dmg format that runs under your version of MacOS? If so I can probably extract from it the information I need to make Calibre2opds run on MacOS without asking for Java 6.

      • 30/09/2019 at 19:55

        Look for ‘aer’ by theescapers. It downloads for free as a zip file. Unzips to an app package. I’m told it’s a Java app.

  3. 30/09/2019 at 16:38

    I’ve been using COPS in the mean time, but I prefer having a static catalog, as is produced by calibre2OPDS.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: