View Single Post
Old 09-13-2016, 04:08 AM   #2
Doitsu
Grand Sorcerer
Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.Doitsu ought to be getting tired of karma fortunes by now.
 
Doitsu's Avatar
 
Posts: 5,737
Karma: 24031401
Join Date: Dec 2010
Device: Kindle PW2
I'm not able to reproduce this error on my Windows and Linux machines, unless I change the interpreter to Python 2.7. Can you please post a sample epub that reliably causes this error.

@roger64:

The error message is missing the last part (marked in Magenta). It should look like this:
Spoiler:

Code:
Status: failed

command line:
C:\Program Files (x86)\Prince\engine\bin\prince.exe -v --page-size=C1 --pdf-title=öäöüöasf -l C:\Users\doitsu\AppData\Local\sigil-ebook\sigil\plugins\PrincePDF\file_list.txt -o C:\Users\doitsu\Desktop\öäöüöasf.pdf

C:\Program Files\Sigil\plugin_launchers\python\sigil_bs4\__init__.py:187: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.

To get rid of this warning, change this:

 BeautifulSoup([your markup])

to this:

 BeautifulSoup([your markup], "lxml")

  markup_type=markup_type))
Traceback (most recent call last):
  File "C:\Program Files\Sigil\plugin_launchers\python\launcher.py", line 135, in launch
    self.exitcode = target_script.run(container)
  File "C:\Users\doitsu\AppData\Local\sigil-ebook\sigil\plugins\PrincePDF\plugin.py", line 232, in run
    result = princeWrapper(*args)
  File "C:\Users\doitsu\AppData\Local\sigil-ebook\sigil\plugins\PrincePDF\plugin.py", line 39, in princeWrapper
    process = Popen(list(args), stdout=PIPE, stderr=PIPE)
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 84-88: ordinal not in range(128)
Error: 'ascii' codec can't encode characters in position 84-88: ordinal not in range(128)


Please post the complete error message, including all lines after:

Code:
BeautifulSoup([your markup], "lxml")
For others that are curious about this, the plugin uses the book title as the file name and chokes if Python 2.7 is selected and book title contains accented characters or umlauts.

If you have the plugin installed please test this issue:

1. Create a blank epub.
2. Change the book title to öäöüöasf (or any other title that contains at least one accented character/umlaut)
3. Run the plugin.
Doitsu is offline   Reply With Quote