Ebookmaker has stopped working, error messages

I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following: unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py", line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType' I tried it a couple of times to be certain. Other than correcting some spelling errors, my input today is no different from yesterday. James Simmons

Sorry about that! It was just updated yesterday, and evidently there is an issue. I've reported it to Eric (who is not on this list). ~ Greg On Fri, Aug 27, 2021 at 05:50:40PM -0500, James Simmons wrote:
I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following:
unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py", line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType'
I tried it a couple of times to be certain.
Other than correcting some spelling errors, my input today is no different from yesterday.
James Simmons
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d

Thanks again for this report, James. The issue was fixed by Eric, and the online ebookmaker is now updated. Please give it another try! Best, Greg On Fri, Aug 27, 2021 at 05:50:40PM -0500, James Simmons wrote:
I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following:
unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py", line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType'
I tried it a couple of times to be certain.
Other than correcting some spelling errors, my input today is no different from yesterday.
James Simmons
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d

Greg, Ebookmaker is working again. Thanks. Regarding using RST to generate PG formats, I found that if I avoid PG extensions I can use the following command to generate my HTML from RST: pandoc Vishnupuranam.rst --shift-heading-level-by=1 -f rst -t html -s -o Vishnupuranam.html The shift heading is necessary because if you don't use it the title and the top level headings will both use H1. It sounds like Ebookmaker has a problem with that. I use this command to generate plain text: pandoc Vishnupuranam.rst -f rst -t plain -s -o Vishnupuranam.txt followed by this command to fix the line endings (because I work on a Linux box): unix2dos Vishnupuranam.txt This does a pretty good job, but it strips out asterisks that indicate italicized text. I can live with that if PG can. There is a web utility that handles the italics better: https://cloudconvert.com/rst-to-txt This produces output with some extra characters that need to be removed (footnotes look like [^1] instead of [1], section headings begin with ###), but that is simple enough. James Simmons On Sat, Aug 28, 2021 at 4:32 PM Greg Newby <gbnewby@pglaf.org> wrote:
Thanks again for this report, James.
The issue was fixed by Eric, and the online ebookmaker is now updated. Please give it another try! Best, Greg
On Fri, Aug 27, 2021 at 05:50:40PM -0500, James Simmons wrote:
I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following:
unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py", line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType'
I tried it a couple of times to be certain.
Other than correcting some spelling errors, my input today is no different from yesterday.
James Simmons
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d

Thanks for confirming ebookmaker is working, James! Your RST production path looks good to me. As I mentioned in our correspondence, pandoc seems to do a good job. It's not required that the .txt include representation of italics or other typography. It seems that in either of the .txt generation steps, you might want to do a little further editing by hand to ensure the reading experience is as good as may be. Best, Greg On Sat, Aug 28, 2021 at 08:30:56PM -0500, James Simmons wrote:
Greg,
Ebookmaker is working again. Thanks.
Regarding using RST to generate PG formats, I found that if I avoid PG extensions I can use the following command to generate my HTML from RST:
pandoc Vishnupuranam.rst --shift-heading-level-by=1 -f rst -t html -s -o Vishnupuranam.html
The shift heading is necessary because if you don't use it the title and the top level headings will both use H1. It sounds like Ebookmaker has a problem with that.
I use this command to generate plain text:
pandoc Vishnupuranam.rst -f rst -t plain -s -o Vishnupuranam.txt
followed by this command to fix the line endings (because I work on a Linux box):
unix2dos Vishnupuranam.txt
This does a pretty good job, but it strips out asterisks that indicate italicized text. I can live with that if PG can. There is a web utility that handles the italics better:
https://cloudconvert.com/rst-to-txt
This produces output with some extra characters that need to be removed (footnotes look like [^1] instead of [1], section headings begin with ###), but that is simple enough.
James Simmons
On Sat, Aug 28, 2021 at 4:32 PM Greg Newby <gbnewby@pglaf.org> wrote:
Thanks again for this report, James.
The issue was fixed by Eric, and the online ebookmaker is now updated. Please give it another try! Best, Greg
On Fri, Aug 27, 2021 at 05:50:40PM -0500, James Simmons wrote:
I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following:
unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py", line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType'
I tried it a couple of times to be certain.
Other than correcting some spelling errors, my input today is no different from yesterday.
James Simmons
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d

As was sort-of mentioned, ebookmaker shares pandoc code to do its own rst -> html conversion. As a result, it doesn't support anything that's been added in pandoc in the past 10 years, while including some PG-specific stuff that isn't supported by modern pandoc (and not terribly useful, it appears). The PG rst toolchain adds dependencies on xetex to make PDF. files. I think it's generally a bad idea (i.e. not sustainable in the long term) to have post-submission hand-editing going on in more than one place. with rst, I see people using the rst->html conversion product to make new source files, which then get hand-editied. I've also seen the html files become zombie files which get edited but ignored by ebookmaker for one reason or another. I don't have a clear sense of what our vision is for this use of RST. There were about 500 rst-sourced books not being updated (in danger of being zombies) when I started working on Ebookmaker and I revived the code that had stopped working. We could kill off the rst sources and coversion code and use exclusively the html; we could rip out our custom rst code and replace it with modern pandoc, or something else, but it would be good to not do all of the above. Eric
On Aug 29, 2021, at 1:43 PM, Greg Newby <gbnewby@pglaf.org> wrote:
Thanks for confirming ebookmaker is working, James!
Your RST production path looks good to me. As I mentioned in our correspondence, pandoc seems to do a good job.
It's not required that the .txt include representation of italics or other typography. It seems that in either of the .txt generation steps, you might want to do a little further editing by hand to ensure the reading experience is as good as may be.
Best, Greg
On Sat, Aug 28, 2021 at 08:30:56PM -0500, James Simmons wrote:
Greg,
Ebookmaker is working again. Thanks.
Regarding using RST to generate PG formats, I found that if I avoid PG extensions I can use the following command to generate my HTML from RST:
pandoc Vishnupuranam.rst --shift-heading-level-by=1 -f rst -t html -s -o Vishnupuranam.html
The shift heading is necessary because if you don't use it the title and the top level headings will both use H1. It sounds like Ebookmaker has a problem with that.
I use this command to generate plain text:
pandoc Vishnupuranam.rst -f rst -t plain -s -o Vishnupuranam.txt
followed by this command to fix the line endings (because I work on a Linux box):
unix2dos Vishnupuranam.txt
This does a pretty good job, but it strips out asterisks that indicate italicized text. I can live with that if PG can. There is a web utility that handles the italics better:
https://cloudconvert.com/rst-to-txt
This produces output with some extra characters that need to be removed (footnotes look like [^1] instead of [1], section headings begin with ###), but that is simple enough.
James Simmons
On Sat, Aug 28, 2021 at 4:32 PM Greg Newby <gbnewby@pglaf.org> wrote:
Thanks again for this report, James.
The issue was fixed by Eric, and the online ebookmaker is now updated. Please give it another try! Best, Greg
On Fri, Aug 27, 2021 at 05:50:40PM -0500, James Simmons wrote:
I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following:
unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py", line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType'
I tried it a couple of times to be certain.
Other than correcting some spelling errors, my input today is no different from yesterday.
James Simmons
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d

Eric, I was inspired by the PDF's generated by the PG RST conversion to do my own PDF conversions and create print-on-demand titles in Kindle Direct Publishing. The PDF's weren't good enough to use as is, but they did show me what was possible. When I create page interiors for KDP I use rst2latex to convert the RST and then run xelatex on them. I have to edit the latex by hand to remove stuff using PG extensions, replace the section in the beginning of the latex which specifies page size and other things, and do some other tweaking. Generally a couple of afternoon's work, but the end result is a really nice PDF for a book interior. I looked at the code for docutils (including the version PG was using) and concluded that modifying this code to automatically create a print-ready book interior was more than I could do, but modifying the generated latex was pretty easy. Personally I think that having PDFs for PG titles is not necessary. There are many good options for reading EPUBs and Kindle mobi files, including cell phones, and the generated PDF is not something that you'd want to print out, so it doesn't really need to be part of the generated output. The only thing that's missing from my PG-extensionless HTML files is centering and large fonts in my title pages. The text is left justified and all the same size. I really don't have a problem with that. It looks OK. I can fancy it up when I make the latex version, but it isn't needed for a web page or an ebook. I think using stock RST with no extensions is a good way to make PG donations that saves a lot of work. Many of my titles have hundreds of footnotes, and others have lots of illustrations with captions. I can't imagine doing either one without RST. I'd recommend RST to anyone making a book for PG. There is no need to be able to submit RST directly to ebookmaker. Pandoc and docutils are easy to use. James Simmons On Sun, Aug 29, 2021 at 1:23 PM Eric Hellman <eric@hellman.net> wrote:
As was sort-of mentioned, ebookmaker shares pandoc code to do its own rst -> html conversion. As a result, it doesn't support anything that's been added in pandoc in the past 10 years, while including some PG-specific stuff that isn't supported by modern pandoc (and not terribly useful, it appears).
The PG rst toolchain adds dependencies on xetex to make PDF. files.
I think it's generally a bad idea (i.e. not sustainable in the long term) to have post-submission hand-editing going on in more than one place. with rst, I see people using the rst->html conversion product to make new source files, which then get hand-editied. I've also seen the html files become zombie files which get edited but ignored by ebookmaker for one reason or another.
I don't have a clear sense of what our vision is for this use of RST. There were about 500 rst-sourced books not being updated (in danger of being zombies) when I started working on Ebookmaker and I revived the code that had stopped working. We could kill off the rst sources and coversion code and use exclusively the html; we could rip out our custom rst code and replace it with modern pandoc, or something else, but it would be good to not do all of the above.
Eric
On Aug 29, 2021, at 1:43 PM, Greg Newby <gbnewby@pglaf.org> wrote:
Thanks for confirming ebookmaker is working, James!
Your RST production path looks good to me. As I mentioned in our correspondence, pandoc seems to do a good job.
It's not required that the .txt include representation of italics or other typography. It seems that in either of the .txt generation steps, you might want to do a little further editing by hand to ensure the reading experience is as good as may be.
Best, Greg
On Sat, Aug 28, 2021 at 08:30:56PM -0500, James Simmons wrote:
Greg,
Ebookmaker is working again. Thanks.
Regarding using RST to generate PG formats, I found that if I avoid PG extensions I can use the following command to generate my HTML from RST:
pandoc Vishnupuranam.rst --shift-heading-level-by=1 -f rst -t html -s -o Vishnupuranam.html
The shift heading is necessary because if you don't use it the title and the top level headings will both use H1. It sounds like Ebookmaker has a problem with that.
I use this command to generate plain text:
pandoc Vishnupuranam.rst -f rst -t plain -s -o Vishnupuranam.txt
followed by this command to fix the line endings (because I work on a Linux box):
unix2dos Vishnupuranam.txt
This does a pretty good job, but it strips out asterisks that indicate italicized text. I can live with that if PG can. There is a web utility that handles the italics better:
https://cloudconvert.com/rst-to-txt
This produces output with some extra characters that need to be removed (footnotes look like [^1] instead of [1], section headings begin with ###), but that is simple enough.
James Simmons
On Sat, Aug 28, 2021 at 4:32 PM Greg Newby <gbnewby@pglaf.org> wrote:
Thanks again for this report, James.
The issue was fixed by Eric, and the online ebookmaker is now updated. Please give it another try! Best, Greg
On Fri, Aug 27, 2021 at 05:50:40PM -0500, James Simmons wrote:
I used Ebookmaker as recently as yesterday with no problems, but today I'm getting no epub generated and output.txt shows the following:
unzipping /htdocs/ebookmaker/cache/20210827154639/Vishnupuranam.zip Input file: Vishnupuranam.html EbookMaker 0.11.4 WARNING:root:Gutenberg Database is inactive because psycopg2 not installed Traceback (most recent call last): File "/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/bin/ebookmaker", line 18, in <module> EbookMaker.main () File
"/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/site-packages/ebookmaker/EbookMaker.py",
line 534, in main job.url = os.path.join(absoutputdir, output_files['epub.images']) File
"/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/posixpath.py",
line 94, in join genericpath._check_arg_types('join', a, *p) File
"/var/www/.local/share/virtualenvs/ebookmaker-A6HCkzTJ/lib/python3.6/genericpath.py",
line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType'
I tried it a couple of times to be certain.
Other than correcting some spelling errors, my input today is no different from yesterday.
James Simmons
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
_______________________________________________ gutvol-d mailing list gutvol-d@lists.pglaf.org https://lists.pglaf.org/mailman/listinfo/gutvol-d Unsubscribe: https://lists.pglaf.org/mailman/options/gutvol-d
participants (3)
-
Eric Hellman
-
Greg Newby
-
James Simmons