refactor: improve bash code (#125)
* refactor: extract guard_path to utils/guard_path.sh * add utils/guard_operation.sh
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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" "$@")"
|
||||
|
||||
@@ -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 ' ' '_')"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user