refactor: improve bash code (#125)

* refactor: extract guard_path to utils/guard_path.sh

* add utils/guard_operation.sh
This commit is contained in:
sigoden
2024-11-16 11:09:40 +08:00
committed by GitHub
parent 6d30c22b82
commit 86aa910609
17 changed files with 110 additions and 120 deletions
+3 -7
View File
@@ -6,14 +6,10 @@ set -e
# @env LLM_OUTPUT=/dev/stdout The output path
ROOT_DIR="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
main() {
if [ -t 1 ]; then
read -r -p "Are you sure you want to continue? [Y/n] " ans
if [[ "$ans" == "N" || "$ans" == "n" ]]; then
echo "Aborted!"
exit 1
fi
fi
"$ROOT_DIR/utils/guard_operation.sh"
eval "$argc_command" >> "$LLM_OUTPUT"
}
+3 -7
View File
@@ -9,15 +9,11 @@ set -e
# @env USQL_DSN! The database url, e.g. pgsql://user:pass@host/dbname
# @env LLM_OUTPUT=/dev/stdout The output path
ROOT_DIR="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
main() {
if ! grep -qi '^select' <<<"$argc_code"; then
if [ -t 1 ]; then
read -r -p "Are you sure you want to continue? [Y/n] " ans
if [[ "$ans" == "N" || "$ans" == "n" ]]; then
echo "Aborted!"
exit 1
fi
fi
"$ROOT_DIR/utils/guard_operation.sh"
fi
usql -c "$argc_code" "$USQL_DSN" >> "$LLM_OUTPUT"
}
+4 -10
View File
@@ -18,22 +18,16 @@ set -e
# @env LLM_OUTPUT=/dev/stdout The output path
ROOT_DIR="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
main() {
if [ ! -f "$argc_path" ]; then
echo "Not found file: $argc_path"
exit 1
fi
root_dir="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
new_contents="$(awk -f "$root_dir/utils/patch.awk" "$argc_path" <(printf "%s" "$argc_contents"))"
new_contents="$(awk -f "$ROOT_DIR/utils/patch.awk" "$argc_path" <(printf "%s" "$argc_contents"))"
printf "%s" "$new_contents" | git diff --no-index "$argc_path" - || true
if [ -t 1 ]; then
echo
read -r -p "Apply changes? [Y/n] " ans
if [[ "$ans" == "N" || "$ans" == "n" ]]; then
echo "Aborted!"
exit 1
fi
fi
"$ROOT_DIR/utils/guard_operation.sh" "Apply changes?"
printf "%s" "$new_contents" > "$argc_path"
echo "The patch applied to: $argc_path" >> "$LLM_OUTPUT"
+3 -15
View File
@@ -7,26 +7,14 @@ set -e
# @env LLM_OUTPUT=/dev/stdout The output path
ROOT_DIR="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
main() {
if [[ -f "$argc_path" ]]; then
_guard_path "$argc_path" Remove
"$ROOT_DIR/utils/guard_path.sh" "$argc_path" "Remove '$argc_path'?"
rm -rf "$argc_path"
fi
echo "Path removed: $argc_path" >> "$LLM_OUTPUT"
}
_guard_path() {
path="$(realpath -m "$1")"
action="$2"
if [[ ! "$path" == "$(pwd)"* ]]; then
if [ -t 1 ]; then
read -r -p "$action $path? [Y/n] " ans
if [[ "$ans" == "N" || "$ans" == "n" ]]; then
echo "Aborted!"
exit 1
fi
fi
fi
}
eval "$(argc --argc-eval "$0" "$@")"
+3 -15
View File
@@ -8,25 +8,13 @@ set -e
# @env LLM_OUTPUT=/dev/stdout The output path
ROOT_DIR="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
main() {
_guard_path "$argc_path" Write
"$ROOT_DIR/utils/guard_path.sh" "$argc_path" "Write '$argc_path'?"
mkdir -p "$(dirname "$argc_path")"
printf "%s" "$argc_contents" > "$argc_path"
echo "The contents written to: $argc_path" >> "$LLM_OUTPUT"
}
_guard_path() {
path="$(realpath -m "$1")"
action="$2"
if [[ ! "$path" == "$(pwd)"* ]]; then
if [ -t 1 ]; then
read -r -p "$action $path? [Y/n] " ans
if [[ "$ans" == "N" || "$ans" == "n" ]]; then
echo "Aborted!"
exit 1
fi
fi
fi
}
eval "$(argc --argc-eval "$0" "$@")"
+1 -1
View File
@@ -17,7 +17,7 @@ main() {
title="$(echo "$json" | jq -r '.query.search[0].title // empty')"
pageid="$(echo "$json" | jq -r '.query.search[0].pageid // empty')"
if [[ -z "$title" || -z "$pageid" ]]; then
echo "Error: No results found for '$argc_query'"
echo "error: no results for '$argc_query'" >&2
exit 1
fi
title="$(echo "$title" | tr ' ' '_')"
+2 -2
View File
@@ -31,10 +31,10 @@ main() {
if [[ "$(echo "$body" | jq -r 'has("sid")')" == "true" ]]; then
echo "Message sent successfully" >> "$LLM_OUTPUT"
else
_die "$body"
_die "error: $body"
fi
else
_die "$body"
_die "error: $body"
fi
}