From 4b8a72fda71bae5cc0ed2cfb6ba5bbb70a623b89 Mon Sep 17 00:00:00 2001 From: Adam Warner Date: Sat, 30 Nov 2019 16:26:26 +0000 Subject: [PATCH] functionise parameter discovery Rename HandleOther to ValidateDomain Capital letters on the new functions Signed-off-by: Adam Warner --- advanced/Scripts/list.sh | 59 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/advanced/Scripts/list.sh b/advanced/Scripts/list.sh index 7707ceea..5fbe831f 100755 --- a/advanced/Scripts/list.sh +++ b/advanced/Scripts/list.sh @@ -26,7 +26,7 @@ typeId="" colfile="/opt/pihole/COL_TABLE" source ${colfile} -getListnameFromTypeId() { +GetListnameFromTypeId() { if [[ "$1" == "0" ]]; then echo "whitelist" elif [[ "$1" == "1" ]]; then @@ -38,43 +38,44 @@ getListnameFromTypeId() { fi } -helpFunc() { +GetListParamFromTypeId() { if [[ "${typeId}" == "0" ]]; then - param="w" - type="whitelist" - elif [[ "${typeId}" == "3" && "${wildcard}" == true ]]; then - param="-wild" - type="wildcard blacklist" - elif [[ "${typeId}" == "3" ]]; then - param="-regex" - type="regex blacklist filter" - elif [[ "${typeId}" == "2" && "${wildcard}" == true ]]; then - param="-white-wild" - type="wildcard whitelist" - elif [[ "${typeId}" == "2" ]]; then - param="-white-regex" - type="regex whitelist filter" - else - param="b" - type="blacklist" + echo "w" + elif [[ "${typeId}" == "1" ]]; then + echo "b" + elif [[ "${typeId}" == "2" && "${wildcard}" == true ]]; then + echo "-white-wild" + elif [[ "${typeId}" == "2" ]]; then + echo "regex_blacklist" + elif [[ "${typeId}" == "3" && "${wildcard}" == true ]]; then + echo "-regex" + elif [[ "${typeId}" == "3" ]]; then + echo "-wild" fi +} + +helpFunc() { + local listname param + + listname="$(GetListnameFromTypeId "${typeId}")" + param="$(GetListParamFromTypeId)" echo "Usage: pihole -${param} [options] Example: 'pihole -${param} site.com', or 'pihole -${param} site1.com site2.com' -${type^} one or more domains +${listname^} one or more domains Options: - -d, --delmode Remove domain(s) from the ${type} - -nr, --noreload Update ${type} without reloading the DNS server + -d, --delmode Remove domain(s) from the ${listname} + -nr, --noreload Update ${listname} without reloading the DNS server -q, --quiet Make output less verbose -h, --help Show this help dialog - -l, --list Display all your ${type}listed domains + -l, --list Display all your ${listname}listed domains --nuke Removes all entries in a list" exit 0 } -HandleOther() { +ValidateDomain() { # Convert to lowercase domain="${1,,}" @@ -118,7 +119,7 @@ AddDomain() { # Is the domain in the list we want to add it to? num="$(sqlite3 "${gravityDBfile}" "SELECT COUNT(*) FROM domainlist WHERE domain = '${domain}';")" - requestedListname="$(getListnameFromTypeId "${typeId}")" + requestedListname="$(GetListnameFromTypeId "${typeId}")" if [[ "${num}" -ne 0 ]]; then existingTypeId="$(sqlite3 "${gravityDBfile}" "SELECT type FROM domainlist WHERE domain = '${domain}';")" @@ -127,7 +128,7 @@ AddDomain() { echo -e " ${INFO} ${1} already exists in ${requestedListname}, no need to add!" fi else - existingListname="$(getListnameFromTypeId "${existingTypeId}")" + existingListname="$(GetListnameFromTypeId "${existingTypeId}")" sqlite3 "${gravityDBfile}" "UPDATE domainlist SET type = ${typeId} WHERE domain='${domain}';" if [[ "${verbose}" == true ]]; then echo -e " ${INFO} ${1} already exists in ${existingListname}, it has been moved to ${requestedListname}!" @@ -153,7 +154,7 @@ RemoveDomain() { # Is the domain in the list we want to remove it from? num="$(sqlite3 "${gravityDBfile}" "SELECT COUNT(*) FROM domainlist WHERE domain = '${domain}' AND type = ${typeId};")" - requestedListname="$(getListnameFromTypeId "${typeId}")" + requestedListname="$(GetListnameFromTypeId "${typeId}")" if [[ "${num}" -eq 0 ]]; then if [[ "${verbose}" == true ]]; then @@ -174,7 +175,7 @@ RemoveDomain() { Displaylist() { local count num_pipes domain enabled status nicedate requestedListname - requestedListname="$(getListnameFromTypeId "${typeId}")" + requestedListname="$(GetListnameFromTypeId "${typeId}")" data="$(sqlite3 "${gravityDBfile}" "SELECT domain,enabled,date_modified FROM domainlist WHERE type = ${typeId};" 2> /dev/null)" if [[ -z $data ]]; then @@ -231,7 +232,7 @@ for var in "$@"; do "-l" | "--list" ) Displaylist;; "--nuke" ) NukeList;; "--web" ) web=true;; - * ) HandleOther "${var}";; + * ) ValidateDomain "${var}";; esac done