# HG changeset patch # User Goffi # Date 1562914541 -7200 # Node ID cf0dda0d4cda174f65696453a9c8e2d49d818d53 # Parent afad95f257c73915936f3c8ea449c812de281f95 jp (blog/edit): fail and show error message if --preview is not working diff -r afad95f257c7 -r cf0dda0d4cda sat_frontends/jp/cmd_blog.py --- 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(