From 775b7b5d8a8c6db549b37d6b218e7027b3f6e408 Mon Sep 17 00:00:00 2001 From: David Thurstenson Date: Sun, 10 Apr 2022 23:23:51 -0500 Subject: [PATCH] Removing crestron helper scripts. Good fucking riddance. --- .bashrc.d/cn-fwupd.bash | 20 ----- .bashrc.d/cn-progload.bash | 46 ----------- .bashrc.d/cn-scp.bash | 63 --------------- .bashrc.d/cnssh.bash | 154 ------------------------------------- 4 files changed, 283 deletions(-) delete mode 100644 .bashrc.d/cn-fwupd.bash delete mode 100644 .bashrc.d/cn-progload.bash delete mode 100644 .bashrc.d/cn-scp.bash delete mode 100644 .bashrc.d/cnssh.bash diff --git a/.bashrc.d/cn-fwupd.bash b/.bashrc.d/cn-fwupd.bash deleted file mode 100644 index e162e69..0000000 --- a/.bashrc.d/cn-fwupd.bash +++ /dev/null @@ -1,20 +0,0 @@ -cn-fwupd() { - local addr="$1" - local puf="$2" - local ext="${puf##*.}" - - case $ext in - - zip) - printf 'put %q firmware/update.zip' "$puf" | cnsftp $addr - cnssh $addr pushupdate FULL - ;; - puf) - printf 'put %q firmware/' "$puf" | cnsftp $addr - cnssh $addr puf - ;; - *) - echo "Error: Bad file type. Currently, only'.zip' and '.puf' file types are supported." - ;; - esac -} diff --git a/.bashrc.d/cn-progload.bash b/.bashrc.d/cn-progload.bash deleted file mode 100644 index 2a05b79..0000000 --- a/.bashrc.d/cn-progload.bash +++ /dev/null @@ -1,46 +0,0 @@ -cn-progload() { - local addr="$1" - local project="$2" # /foo/bar/baz.bunk - local ext="${project##*.}" # bunk - local projfname="${project%.*}" # /foo/bar/baz - local projfnamebase="${projfname##*/}" # baz - local zigstash - zigstash="$(mktemp /tmp/$projfnamebase.XXXX.zig)" - # Add a zero in front of the 3rd arg - local slot="0${3}" - # expand only to the last 2 digits of $slot - slot="${slot: -2}" - - - case $ext in - - vtz) - if [[ -n $slot ]]; then - echo "==NOTICE== Ignoring slot number for touchpanel project..." - fi - printf 'put %q %q' "$project" "/display/"| cnsftp "$addr" - cnssh "$addr" projectload - ;; - - lpz) - if [[ -z $slot ]]; then - echo "==NOTICE== No target program slot defined. Assuming Slot 01..." - slot=01 - fi - # Stop and delete current program in $slot - cnssh "$addr" killprog -P$slot - # Upload - printf 'put %q %q' "$project" "/Program$slot" | cnsftp "$addr" - # Load the program - cnssh "$addr" progload -p:$slot - # Zip up the sig file in a temporary location - zip -j - "$projfname.sig" > "$zigstash" - # Upload the zig - printf 'put %q %q' "$zigstash" "/Program$slot/$projfnamebase.zig" | cnsftp "$addr" - ;; - - *) - echo "Error: Bad file type. Currently only supports vtz and lpz projects." - ;; - esac -} diff --git a/.bashrc.d/cn-scp.bash b/.bashrc.d/cn-scp.bash deleted file mode 100644 index aac01a5..0000000 --- a/.bashrc.d/cn-scp.bash +++ /dev/null @@ -1,63 +0,0 @@ -cn-scp() { - - shopt -q extglob; local extglob_set=$? - if ((extglob_set)); then - echo "cn-scp: extglob must be set for this function to work properly." - return 1 - fi - local source="$1" - local dest="$2" - local sep=":" - local host sourcefile destfile - - - if [[ -z $source ]]; then - echo "Error: No source provided" - return 1 - elif [[ -z $dest ]]; then - echo "Error: No destination provided" - return 1 - fi - - -# Host determination: - local loopcount=0 - for i in "$source" "$dest"; do - case "$i" in - # Will match if $sep exists in string once - *@("$sep")* ) - # Check if $host is unset - if [[ -z $host ]]; then - host="${i%%:*}" - sourcefile="${source#*:}" - destfile="${dest#*:}" - # If this is the first run of the loop, the remote is the source - if [[ "$loopcount" == 0 ]]; then - operation="get" - # If this is the second run of the loop, the remote is the dest - elif [[ "$loopcount" == 1 ]]; then - operation="put" - # If this is anything other than the first or second loop, GTFO - else - echo "Error: Loop counting error." - return 1 - fi - continue - else - echo "Error: Remote path for *both* source and destination is not supported." - return 1 - fi - ;; - *) - ((loopcount++)) - continue - ;; - esac - ((loopcount++)) - done -# END: Host determination - - - printf '%q %q %q' "$operation" "$sourcefile" "$destfile" | cnsftp "$host" - -} diff --git a/.bashrc.d/cnssh.bash b/.bashrc.d/cnssh.bash deleted file mode 100644 index 9df838a..0000000 --- a/.bashrc.d/cnssh.bash +++ /dev/null @@ -1,154 +0,0 @@ -cnssh() { # Helper for sshing into Crestron devices - # - # USAGE - # - # cnssh [command] - # - # - # OPTIONS - # - # -u Specify the username to use with ssh - # Default: "Crestron" - # - # CONFIG ARRAY: cnssh_conf - # - # - # | Option | Valid Args | Default | Description | - # | ------------- | ------------- | ------------- | --------------------------------------------- | - # | uname | | "Crestron" | The username for use with ssh | - # | pass | | "" | The password for use with ssh (via sshpass) | - # | addr | | | The address of the remote device | - # | cmd | | [command] | The command to execute on the remote device | - - - #### - # Config init - - # Initialize runtime config array - declare -A conf - - # Initialize config array if it doesn't already exist - if [[ ! -v cnssh_conf[@] ]]; then - declare -A cnssh_conf - else - for opt in "${!cnssh_conf[@]}"; do - conf[$opt]=${cnssh_conf[$opt]} - done - fi - - # Initialize and populate default config array - declare -A dconf - dconf=( - [method]="ssh" - [uname]="Crestron" - [pass]="" - ) - - # Apply defaults to running config - for opt in "${!dconf[@]}"; do - # Don't apply the default if it's already set - if [[ ! -v conf[$opt] ]]; then - conf[$opt]=${dconf[$opt]} - fi - done - - declare -A sshopts - sshopts=( - [StrictHostKeyChecking]="no" - [GlobalKnownHostsFile]="/dev/null" - [UserKnownHostsFile]="/dev/null" - [LogLevel]="ERROR" - ) - - # Config init - #### - - - #### - # Option Parsing - - while getopts ":u:" opt; do - case $opt in - u) - conf[uname]="$OPTARG" - ;; - \?) - echo "Unknown option -$OPTARG" - return 1 - ;; - :) - echo "Option requires argument: -$OPTARG" - return 1 - ;; - esac - done - - # Remove parsed options from $@ - shift $((OPTIND -1)) - - # Set the address based on the first - # arg if not already set in config array - if [[ ! -v conf[addr] ]]; then - conf[addr]="$1" - shift 1 - fi - - # Set the command as the rest of argv - # if not already set in config array - if [[ ! -v conf[cmd] ]]; then - conf[cmd]="$*" - fi - - # Set ssh user name - sshopts[User]="${conf[uname]}" - - # Set ssh host if not using sftp mode - case ${conf[method]} in - ssh) - : - ;; - sftp) - unset "conf[cmd]" - ;; - *) - echo "Unknown method: ${conf[method]}" - ;; - esac - - # Option Parsing - #### - - - #### - # Main - - sshpass -p "${conf[pass]}" \ - "${conf[method]}" \ - $( # Format sshopts as a string that an ssh program understands - for opt in "${!sshopts[@]}"; do - printf '%s %s=%s ' "-o" "$opt" "${sshopts[$opt]}" - done - ) \ - "${conf[addr]}" \ - "${conf[cmd]}" - - # Main - #### -} - - -cnsftp() { - # Initialize config array if it doesn't already exist - if [[ ! -v cnssh_conf[@] ]]; then - declare -A cnssh_conf - fi - - # Set sftp mode instead of ssh - cnssh_conf[method]="sftp" - cnssh_conf[addr]="$*" - - cnssh - - unset "cnssh_conf[method]" - unset "cnssh_conf[addr]" -}