From e46b5baef07b766d83b5a4225bbff944307d898b Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sun, 27 Apr 2014 01:56:14 +0200 Subject: Make send accept input from another process --- hypo | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'hypo') diff --git a/hypo b/hypo index aa7da11..f7d4f2a 100755 --- a/hypo +++ b/hypo @@ -22,19 +22,37 @@ URL="https://ryuslash.org/hypo" function help_send { echo "Usage: $xname send FILE" + echo " $xname send [SUFFIX]" echo - echo "FILE will be uploaded to a hypo instance and the URL at which it can be visited" - echo "will be printed." + echo "Using the first form FILE will be uploaded to a hypo instance and the URL at " + echo "which it can be visited will be printed." + echo + echo "Using the second form requires that input come from a pipe. Such as:" + echo + echo " cat somefile.txt | hypo send" + echo + echo "In this case the argument to send is optional, if it is specified it should " + echo "include a \`.' to help pygments decide on the syntax highlighting to use. If the " + echo "argument is left unspecified it defaults to \`.txt'." } function cmd_send { - if [[ -z "$1" ]]; then + if [[ ! -t 0 ]]; then + sendfile="$(mktemp --suffix ${1-.txt})" + cat - > "$sendfile" + elif [[ -z "$1" ]]; then cmd_help "send" exit 1 + else + sendfile="$1" fi - curl --upload-file "$1" "$URL/" + curl --upload-file "$sendfile" "$URL/" + + if [[ -t 0 ]]; then + rm "$sendfile" + fi } function help_scrot -- cgit v1.3-2-g0d8e