jp (blog/edit): fail and show error message if --preview is not working

This commit is contained in:
Goffi 2019-07-12 08:55:41 +02:00
commit a6b4c9c56a

View file

@ -514,23 +514,27 @@ class Edit(base.CommandBase, BlogPublishCommon, common.BaseEdit):
# do we need a preview ?
if self.args.preview:
self.disp(u"Preview requested, launching it", 1)
# we redirect outputs to /dev/null to avoid console pollution in editor
# if user wants to see messages, (s)he can call "blog preview" directly
DEVNULL = open(os.devnull, "wb")
subprocess.Popen(
[
sys.argv[0],
"blog",
"preview",
"--inotify",
"true",
"-p",
self.profile,
content_file_path,
],
stdout=DEVNULL,
stderr=subprocess.STDOUT,
)
# we redirect stderr to stdout and capture output to avoid console pollution
# in editor.
# If user wants to see messages, (s)he can call "blog preview" directly
try:
subprocess.check_output(
[
sys.argv[0],
"blog",
"preview",
"--inotify",
"true",
"-p",
self.profile,
content_file_path,
],
stderr=subprocess.STDOUT,
)
except Exception as e:
self.disp(u"Can't show preview: {msg}".format(
msg=e.output.decode('utf-8'), err=True))
sys.exit(e.returncode)
# we launch editor
self.runEditor(