With the RAM set to 256MB the tool completed without an issue (it looked a though peak RAm was about 110MB). However it took a LONG time, and generated 15314 files totalling 260MB in size!
Some comment on the output:
- The sorting seems a bit eratic:
Authors seemed to be unsorted
Series was fine (alphabetical ascending)
All Books and then a ltter was in reverse alphabetical
- There probably needs to be another level of indirection in Series and Authors for large libraries (I have about 1200 series and 1100 authors). That was why I added that extra level in Calibre2Web. In fact I had though of adding even another level for the letters with a very large number of entries.
- In the HTML output, you say either "Download ePub file" , but for all other formats use the text "Download this ebook as XXX"
- You mention books as being "Book # in the xxx serie" (i.e. a missing s)
Having said that - the output is still useful - especially the HTML file option.
I have (finally) started getting seriously into the Python version that will be able to handle large libraries as the pages will be generated dynamically on demand directly from the metadata database. If you do not mind I will "borrow" some of the ideas from your implementation. One big advantage that dynamic pages give is the ability to support search functions as well as avoiding the time overhead of generating the static catalogs.
I am trying to write the Python is such a way that it can either be integrated into Calibre, or alternatively run as a free-standing piece of code under a web server such as Apache (so that calibre itself does not need to be running). Whether I can actually achieve that I am not yet sure. It may as a by-product also be able to output the static catalog files - do you have any objection to it possibly superseding your tool?