From 8ae82d62550cab21a8ea701a144b42a40bc9a000 Mon Sep 17 00:00:00 2001
From: James Tomasino <james@tomasino.org>
Date: Mon, 20 Jan 2020 11:43:21 +0000
Subject: [PATCH] condensed the pretty printing / color logic

---
 pb   | 81 +++++++++++++++---------------------------------------------
 pb.1 |  2 +-
 2 files changed, 21 insertions(+), 62 deletions(-)

diff --git a/pb b/pb
index ee77207..f615d69 100755
--- a/pb
+++ b/pb
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # init variables
-version="v.2018.10.09"
+version="v.2020.01.20"
 ENDPOINT="https://ttm.sh"
 flag_options="hvcufs::x"
 flag_version=0
@@ -12,11 +12,6 @@ flag_shortlist=0
 flag_colors=0
 data=""
 
-# Colors
-SUCCESS=$(tput setaf 190)
-ERROR=$(tput setaf 196)
-RESET=$(tput sgr0)
-
 # help message available via func
 show_help() {
   cat > /dev/stdout << END
@@ -132,6 +127,18 @@ if [ ${flag_shortlist} -gt 0 ]; then
   die "${out} ${lsresults}" 0
 fi
 
+
+# Colors
+if [ ${flag_colors} -gt 0 ]; then
+  SUCCESS=$(tput setaf 190)
+  ERROR=$(tput setaf 196)
+  RESET=$(tput sgr0)
+else
+  SUCCESS=""
+  ERROR=""
+  RESET=""
+fi
+
 # URL shortening reference
 
 # If URL mode detected, process URL shortener and end processing without
@@ -140,15 +147,9 @@ if [ ${flag_url} -gt 0 ]; then
 
   if [ -z "${data}" ]; then
     # if no data
-
     # print error message
-    if [ ${flag_colors} -gt 0 ]; then
-      printf "%sProvide URL to shorten%s\\n" "$ERROR" "$RESET"
-    else
-      printf "Provide URL to shorten\\n"
-    fi
+    printf "%sProvide URL to shorten%s\\n" "$ERROR" "$RESET"
   else
-
     # shorten URL and print results
     curl -F"shorten=${data}" "${ENDPOINT}"
   fi
@@ -157,93 +158,51 @@ fi
 
 if [ ${flag_file} -gt 0 ]; then
   # file mode
-
   if [ -z "${data}" ]; then
     # if no data
-
     # print error message
-    if [ ${flag_colors} -gt 0 ]; then
-      printf "%sProvide data to upload%s\\n" "$ERROR" "$RESET"
-    else
-      printf "Provide data to upload\\n"
-    fi
-
+    printf "%sProvide data to upload%s\\n" "$ERROR" "$RESET"
   elif [ ! -f "${data}" ]; then
     # file not found with name provided
-
     # print error messagse
-    if [ ${flag_colors} -gt 0 ]; then
-      printf "%s%s%s\\tFile not found.%s\\n" "$RESET" "${data}" "$ERROR" "$RESET"
-    else
-      printf "%s\\tFile not found.\\n" "${data}"
-    fi
-
+    printf "%s%s%s\\tFile not found.%s\\n" "$RESET" "${data}" "$ERROR" "$RESET"
     # attempt to split data string (multi-line?) and upload each string as file
     for f in ${data}; do
       # if there's nothing to parse, skip this loop
       if [ "$f" = "$data" ]; then
         break;
       fi
-
       # print name of file parsed, but not yet status of success or failure
       if [ ${flag_colors} -gt 0 ]; then
         printf "%s%s\\t%s" "$RESET" "${f}" "$SUCCESS"
       fi
-
       # check if file exists
       if [ -f "${f}" ]; then
         # send file to endpoint
         curl -F"file=@${f}" "${ENDPOINT}"
-
         # print result short url
         if [ ${flag_colors} -gt 0 ]; then
           printf "%s" "$RESET"
         fi
       else
         # print error message
-        if [ ${flag_colors} -gt 0 ]; then
-          printf "%sFile not found.%s\\n" "$ERROR" "$RESET"
-        else
-          printf "File not found.\\n"
-        fi
+        printf "%sFile not found.%s\\n" "$ERROR" "$RESET"
       fi
     done
   else
     # data available in file
-
     # send file to endpoint
-    if [ ${flag_colors} -gt 0 ]; then
-      printf "%s${data}\\t%s" "$RESET" "$SUCCESS"
-      curl -F"file=@${data}" "${ENDPOINT}"
-      printf "%s" "$RESET"
-    else
-      curl -F"file=@${data}" "${ENDPOINT}"
-    fi
+    curl -F"file=@${data}" "${ENDPOINT}"
   fi
 else
   # non-file mode
-
   if [ -z "${data}" ]; then
     # if no data
-
     # print error message
-    if [ ${flag_colors} -gt 0 ]; then
-      printf "%sNo data found for upload. Please try again.%s\\n" "$ERROR" "$RESET"
-    else
-      printf "No data found for upload. Please try again.\\n"
-    fi
-
+    printf "%sNo data found for upload. Please try again.%s\\n" "$ERROR" "$RESET"
   else
     # data available
-
     # send data to endpoint, print short url
-    if [ ${flag_colors} -gt 0 ]; then
-      printf "%s" "$SUCCESS"
-      printf "%s" "${data}" | curl -F"file=@-;filename=null.txt" "${ENDPOINT}"
-      printf "%s" "$RESET"
-    else
-      printf "%s" "${data}" | curl -F"file=@-;filename=null.txt" "${ENDPOINT}"
-    fi
+    printf "%s" "${data}" | curl -F"file=@-;filename=null.txt" "${ENDPOINT}"
   fi
 fi
-
diff --git a/pb.1 b/pb.1
index 45bb38d..a918abd 100644
--- a/pb.1
+++ b/pb.1
@@ -1,4 +1,4 @@
-.TH PB 1 "16 August 2018" "v2018.08.16"
+.TH PB 1 "20 January 2020" "v2020.01.20"
 
 .SH NAME
 pb \- a helper utility for using 0x0 pastebin services