mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Make PDF conversion on OSX more robust. Fixes #1927 (PDF->MOBI traceback)
This commit is contained in:
parent
42a4ed14ca
commit
670f450d78
@ -3,6 +3,7 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
|||||||
''''''
|
''''''
|
||||||
|
|
||||||
import sys, os, subprocess, logging
|
import sys, os, subprocess, logging
|
||||||
|
import errno
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from calibre import isosx, setup_cli_handlers, filename_to_utf8, iswindows, islinux
|
from calibre import isosx, setup_cli_handlers, filename_to_utf8, iswindows, islinux
|
||||||
from calibre.ebooks import ConversionError, DRMError
|
from calibre.ebooks import ConversionError, DRMError
|
||||||
@ -41,14 +42,26 @@ def generate_html(pathtopdf, tdir):
|
|||||||
try:
|
try:
|
||||||
os.chdir(tdir)
|
os.chdir(tdir)
|
||||||
try:
|
try:
|
||||||
p = popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
|
p = popen(cmd, stderr=subprocess.PIPE)
|
||||||
except OSError, err:
|
except OSError, err:
|
||||||
if err.errno == 2:
|
if err.errno == 2:
|
||||||
raise ConversionError(_('Could not find pdftohtml, check it is in your PATH'), True)
|
raise ConversionError(_('Could not find pdftohtml, check it is in your PATH'), True)
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
'''
|
||||||
print p.stdout.read()
|
print p.stdout.read()
|
||||||
|
'''
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
ret = p.wait()
|
ret = p.wait()
|
||||||
|
break
|
||||||
|
except OSError, e:
|
||||||
|
if e.errno == errno.EINTR:
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
|
||||||
if ret != 0:
|
if ret != 0:
|
||||||
err = p.stderr.read()
|
err = p.stderr.read()
|
||||||
raise ConversionError, err
|
raise ConversionError, err
|
||||||
|
Loading…
x
Reference in New Issue
Block a user