IOError Broken pipe when inbox piped to a pager; should die more gracefully
Closed this issue · 0 comments
bkuhn commented
Try this:
$ p inbox | less
Hit 'q' to exit less (assuming you have more than one page of inbox).
You get this:
Traceback (most recent call last):
File "/path/to/your-p/bin/p", line 7, in <module>
execfile(__file__)
File "/path/to/your-p/p", line 859, in <module>
cli()
File "/path/to/your-p/src/click/click/core.py", line 451, in __call__
return self.main(*args, **kwargs)
File "/path/to/your-p/src/click/click/core.py", line 437, in main
self.invoke(ctx)
File "/path/to/your-p/src/click/click/core.py", line 681, in invoke
return self.invoke_subcommand(ctx, cmd, cmd_name, ctx.args[1:])
File "/path/to/your-p/src/click/click/core.py", line 690, in invoke_subcommand
return cmd.invoke(cmd_ctx)
File "/path/to/your-p/src/click/click/core.py", line 591, in invoke
ctx.invoke(self.callback, **ctx.params)
File "/path/to/your-p/src/click/click/core.py", line 293, in invoke
return callback(*args, **kwargs)
File "/path/to/your-p/src/click/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args[1:], **kwargs)
File "/path/to/your-p/src/click/click/core.py", line 293, in invoke
return callback(*args, **kwargs)
File "/path/to/your-p/p", line 605, in p_inbox
p._display_object(comment, indent=4)
File "/path/to/your-p/p", line 173, in _display_object
self.output.log(" "*indent + meta)
File "/path/to/your-p/p", line 52, in log
click.echo(message, file=self.stdout, nl=nl)
File "/path/to/your-p/src/click/click/utils.py", line 261, in echo
file.flush()
IOError: [Errno 32] Broken pipe
It should probably catch that error and die more gracefully.