aboutsummaryrefslogtreecommitdiffstats
path: root/becommands/comment.py
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2009-06-19 16:26:01 -0400
committerW. Trevor King <wking@drexel.edu>2009-06-19 16:26:01 -0400
commit133fdec6db0e01e77cc99d81cccd254dc1191dcc (patch)
tree837b634c041ac8e2a8dda22fc79d907624560b00 /becommands/comment.py
parent9fb7b0d84872c9db0bb33ea791874e147c7e5f0d (diff)
downloadbugseverywhere-133fdec6db0e01e77cc99d81cccd254dc1191dcc.tar.gz
Added comments-from-stdin, so we can add tracebacks, e.g. with
$ be list --invalid-option | be comment <bug-id> -
Diffstat (limited to 'becommands/comment.py')
-rw-r--r--becommands/comment.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/becommands/comment.py b/becommands/comment.py
index b15a06e..29e9f88 100644
--- a/becommands/comment.py
+++ b/becommands/comment.py
@@ -17,6 +17,7 @@
"""Add a comment to a bug"""
from libbe import cmdutil, bugdir, settings_object, editor
import os
+import sys
__desc__ = __doc__
def execute(args, test=False):
@@ -83,7 +84,7 @@ def execute(args, test=False):
else:
parent = bug.comment_root
- if len(args) == 1:
+ if len(args) == 1: # try to launch an editor for comment-body entry
try:
body = editor.editor_string("Please enter your comment above")
except editor.CantFindEditor, e:
@@ -91,7 +92,11 @@ def execute(args, test=False):
if body is None:
raise cmdutil.UserError("No comment entered.")
body = body.decode('utf-8')
- else:
+ elif args[1] == '-': # read body from stdin
+ body = sys.stdin.read()
+ if not body.endswith('\n'):
+ body+='\n'
+ else: # body = arg[1]
body = args[1]
if not body.endswith('\n'):
body+='\n'
@@ -100,14 +105,16 @@ def execute(args, test=False):
bd.save()
def get_parser():
- parser = cmdutil.CmdOptionParser("be comment ID COMMENT")
+ parser = cmdutil.CmdOptionParser("be comment ID [COMMENT]")
return parser
longhelp="""
-To add a comment to a bug, use the bug ID as the argument. To reply to another
-comment, specify the comment name (as shown in "be show" output).
-
-$EDITOR is used to launch an editor. If unspecified, no comment will be
+To add a comment to a bug, use the bug ID as the argument. To reply
+to another comment, specify the comment name (as shown in "be show"
+output). COMMENT, if specified, should be either the text of your
+comment or "-", in which case the text will be read from stdin. If
+you do not specify a COMMENT, $EDITOR is used to launch an editor. If
+COMMENT is unspecified and EDITOR is not set, no comment will be
created.
"""