Source code for ipypublish.postprocessors.to_stream

import sys
from traitlets import Unicode, Enum

from ipypublish.postprocessors.base import IPyPostProcessor


[docs]class WriteStream(IPyPostProcessor): """ write the stream to the terminal """ @property def allowed_mimetypes(self): return ( "text/latex", "text/restructuredtext", "text/html", "text/x-python", "application/json", "text/markdown", ) @property def requires_path(self): return True @property def logger_name(self): return "write-text-file" encoding = Unicode( default_value="utf8", help="the encoding of the output file" ).tag(config=True) pipe = Enum( ["stdout", "stderr", "stdin"], default_value="stdout", help="where to write the output to", ).tag(config=True)
[docs] def run_postprocess(self, stream, mimetype, filepath, resources): self.logger.info("writing stream to {}".format(self.pipe)) io_type = {"stdout": sys.stdout, "stdin": sys.stdin, "stderr": sys.stderr}.get( self.pipe ) io_type.write(stream) return stream, filepath, resources