diff --git a/db.sh b/db.sh deleted file mode 100755 index 55d3ec5..0000000 --- a/db.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env bash - -[ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" - -DIR="$XDG_CONFIG_HOME/aniwrapper" -DB='history.sqlite3' - -log() { - printf "%s\n" "$1" -} - -while getopts 'cdrqCs' OPT; do - case "$OPT" in - c) - log "Creating database..." - sqlite3 "$DIR"/"$DB" < sql/search_history_tbl.sql - sqlite3 "$DIR"/"$DB" < sql/watch_history_tbl.sql - log "Created database..." - ;; - d) - log "Deleting database..." - echo "$DIR/$DB" - rm "$DIR/$DB" - log "Database deleted..." - ;; - - r) - log "Deleting database..." - rm -rf "$DIR"/"$DB" - mkdir -p "$DIR" - log "Database deleted..." - log "Creating database..." - sqlite3 "$DIR"/"$DB" < sql/search_history_tbl.sql - sqlite3 "$DIR"/"$DB" < sql/watch_history_tbl.sql - log "Created database..." - ;; - q) - log "Connecting to database..." - sqlite3 "$DIR/$DB" - log "Ending connection to databse..." - ;; - C) - log "Cleaning up database..." - stmt="DELETE FROM search_history WHERE anime_name IS NULL OR anime_name = ''" - log "Cleaning up search history..." - sqlite3 "$DIR/$DB" <<< "$stmt" - stmt="DELETE FROM watch_history WHERE anime_name IS NULL OR anime_name = '' OR episode_number = 0" - log "Cleaning up watch history..." - sqlite3 "$DIR/$DB" <<< "$stmt" - ;; - s) - printf "%s" "Enter connection string for remote user in the form user@host: " - read -r connection_str - printf "%s" "Enter port to connect to remote host with or leave blank for default (22): " - read -r port - if [[ ! "${port/ //}" == "" ]]; then - PORT="$port" - fi - - if [[ ! "@" != *"$connection_str" ]]; then - log "Enter in full connection string to remote user in the form: user@host" - exit 1 - fi - - log "Syncing database with: $connection_str on port $PORT" - - scp -P "$PORT" "$connection_str:$DIR/$DB" "$temp_db" - if [[ "$?" -ne 0 ]]; then - printf "%s\n" "Error getting database file from remote host" - exit 1 - fi - sync_search_history && sync_watch_history - ;; - *) - log "Does not exist or not implemented yet..." - exit 1 - ;; - esac -done diff --git a/setup.sh b/setup.sh index 9af1cd1..982436f 100755 --- a/setup.sh +++ b/setup.sh @@ -48,21 +48,19 @@ run_setup() { log "Creating history database..." sqlite3 "$DIR/$DB" < sql/watch_history_tbl.sql sqlite3 "$DIR/$DB" < sql/search_history_tbl.sql + sqlite3 "$DIR/$DB" < sql/file_history.sql log "History database created..." + elif ! sqlite3 -noheader -batch "$DIR/$DB" ".tables" | grep 'file_history'; then + log "file_history table not found in database... creating table" + sqlite3 "$DIR/$DB" < sql/file_history.sql + log "file_history table created" fi + # Move theme files and skip-intro script to correct locations if [[ ! -f "$DIR/aniwrapper.rasi" ]]; then - # Move theme files and skip-intro script to correct locations log "aniwrapper.rasi does not exist in filesystem... Moving theme files" cp themes/* "$DIR"/ log "Theme files moved..." - elif diff -q "themes/aniwrapper.rasi" "$DIR/aniwrapper.rasi" &> /dev/null; then - log "Theme file has not changed... skipping" - else - log "Theme has changed... backing up old theme" - mv "$DIR/aniwrapper.rasi" "$DIR/aniwrapper.rasi.bak" - log "Renamed $DIR/aniwrapper.rasi -> $DIR/aniwrapper.rasi.bak" - cp themes/aniwrapper.rasi "$DIR/" fi log "Creating mpv/scripts/ directory if it doesn't exist..." diff --git a/sql/file_history.sql b/sql/file_history.sql new file mode 100644 index 0000000..6adf261 --- /dev/null +++ b/sql/file_history.sql @@ -0,0 +1,5 @@ +CREATE TABLE file_history ( + id integer PRIMARY KEY AUTOINCREMENT, + directory varchar(200) NOT NULL, + filename varchar(200) NOT NULL +);