Add partial matching hint if exact matching found nothing

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER 2024-06-19 22:21:43 +02:00
parent a2951cd3b8
commit 4df7cee6c2
No known key found for this signature in database
GPG key ID: 00135ACBD90B28DD
2 changed files with 11 additions and 3 deletions

View file

@ -74,7 +74,7 @@ TestAPIAvailability() {
fi
}
Authentication() {
LoginAPI() {
# Try to read the CLI password (if enabled and readable by the current user)
if [ -r /etc/pihole/cli_pw ]; then
password=$(cat /etc/pihole/cli_pw)
@ -96,7 +96,7 @@ Authentication() {
}
LoginAPI() {
Authentication() {
sessionResponse="$(curl -skS -X POST "${API_URL}auth" --user-agent "Pi-hole cli " --data "{\"password\":\"${password}\"}" )"
if [ -z "${sessionResponse}" ]; then

View file

@ -112,6 +112,12 @@ GenerateOutput() {
printf "\n\n"
done
fi
# If no exact results were found, suggest using partial matching
if [ "${num_lists}" -eq 0 ] && [ "${num_gravity}" -eq 0 ] && [ "${partial}" = false ]; then
printf "%s\n" "Hint: Try partial matching with"
printf "%s\n\n" " ${COL_GREEN}pihole -q --partial ${domain}${COL_NC}"
fi
}
Main() {
@ -129,12 +135,14 @@ Main() {
TestAPIAvailability
# Authenticate with FTL
Authentication
LoginAPI
# send query again
data=$(GetFTLData "search/${domain}?N=${max_results}&partial=${partial}")
GenerateOutput "${data}"
# Delete session
LogoutAPI
}