aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xscripts/updater.sh121
1 files changed, 0 insertions, 121 deletions
diff --git a/scripts/updater.sh b/scripts/updater.sh
deleted file mode 100755
index cdf78a0..0000000
--- a/scripts/updater.sh
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/bash
-
-# WARNING: This script is a proof-of-concept and prone to errors. I don't want to hear any bitching if you use this and it blows up your game db. Back it up using `vgstash export -i foo.yaml` first.
-
-# TODO: Refactor into multiple functions to improve error-handling.
-
-# Set options for improved robustness
-set -o errexit
-set -o pipefail
-set -o nounset
-
-# Color escapes we'll use
-norm=""
-BG="" # Green
-BC="" # Cyan
-BY="" # Yellow
-
-again=0
-gamesrc=""
-
-gid_check() {
- if [[ $# == 1 ]]; then
- case $game_id in
- ''|*[!0-9]*)
- echo "ID is not a number."
- exit 1
- ;;
- *)
- # Check for its existence
- result=$(vgstash list -r | grep "^${game_id}|")
- if [[ -n $result ]]; then
- echo "Found game ID '${game_id}'!"
- else
- echo "ID not found in vgstash database."
- exit 1
- fi
- ;;
- esac
- fi
-}
-
-field_update() {
- echo -ne "${BG}Which field are you updating?\n[t]itle, [s]ystem, [o]wnership, [p]rogress: ${norm}"
- read game_field
- case $game_field in
- t|s)
- clause="string"
- ;;
- o)
- clause="y/n"
- ;;
- p)
- clause="[f]resh, [i]n-progress, [b]eaten, [c]omplete"
- ;;
- *)
- echo "Invalid"
- exit 1
- ;;
- esac
- echo -ne "${BG}What to?\n${clause}: ${norm}"
- read game_value
- # TODO: Put this into a loop/function
- echo "Running '${BC}vgstash update ${game_id} ${game_field} "${game_value}"${norm}'..."
- echo -ne "${BY}"
- vgstash update ${game_id} ${game_field} "${game_value}"
- echo -ne "${norm}"
- run_again
-}
-
-run_again() {
- echo -ne "${BG}Do you want to edit another game?${norm} "
- read again
- case $again in
- y|yes)
- main
- ;;
- n|no)
- exit
- ;;
- *)
- echo "Invalid. Try [y]es or [n]o."
- run_again
- ;;
- esac
-}
-
-game_search() {
- if [[ $# == 0 ]]; then
- echo -ne "${BG}Game title to search for:${norm} "
- read gamesrc
- else
- gamesrc="$1"
- fi
- # Print the header first
- vgstash list | head -n 2
- vgstash list | grep -i "$gamesrc"
- # -ne omits the newline and accepts color escapes; handy!
- echo -ne "${BG}Which ID do you want to update?${norm} "
- read game_id
- echo "${game_id} selected."
- # Check to make sure $game_id is a number
- gid_check $game_id
- field_update $game_id
-}
-
-main() {
- case $# in
- 0)
- game_search
- ;;
- 1)
- game_search "$1"
- ;;
- *)
- echo "This script accepts zero or one arguments."
- exit
- ;;
- esac
-}
-
-main "$*"