Mercurial > libervia-backend
changeset 2997:cf0dda0d4cda
jp (blog/edit): fail and show error message if --preview is not working
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 12 Jul 2019 08:55:41 +0200 |
parents | afad95f257c7 |
children | a1b98772af6b |
files | sat_frontends/jp/cmd_blog.py |
diffstat | 1 files changed, 21 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/sat_frontends/jp/cmd_blog.py Fri Jul 12 08:55:11 2019 +0200 +++ b/sat_frontends/jp/cmd_blog.py Fri Jul 12 08:55:41 2019 +0200 @@ -514,23 +514,27 @@ # 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(