mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-17 19:54:27 +00:00
chore: shfmt, cleanup
This commit is contained in:
35
local/bin/a
35
local/bin/a
@@ -19,7 +19,8 @@ for arg in "$@"; do
|
||||
done
|
||||
|
||||
# Ensure log directory and file exist with correct permissions
|
||||
prepare_log_file() {
|
||||
prepare_log_file()
|
||||
{
|
||||
local log_dir
|
||||
log_dir=$(dirname "$LOG_FILE")
|
||||
|
||||
@@ -40,7 +41,8 @@ prepare_log_file() {
|
||||
prepare_log_file
|
||||
|
||||
# Logging function
|
||||
log_message() {
|
||||
log_message()
|
||||
{
|
||||
local message="$1"
|
||||
echo "$(date +'%Y-%m-%d %H:%M:%S') - $message" >> "$LOG_FILE"
|
||||
|
||||
@@ -51,8 +53,9 @@ log_message() {
|
||||
}
|
||||
|
||||
# Function to print usage
|
||||
print_help() {
|
||||
cat <<EOF
|
||||
print_help()
|
||||
{
|
||||
cat << EOF
|
||||
Usage: a [command] [file_or_directory] [options]
|
||||
|
||||
Commands:
|
||||
@@ -88,13 +91,15 @@ EOF
|
||||
}
|
||||
|
||||
# Function to print version
|
||||
print_version() {
|
||||
print_version()
|
||||
{
|
||||
echo "a version $VERSION"
|
||||
echo "Created by Ismo Vuorinen <https://github.com/ivuorinen>"
|
||||
}
|
||||
|
||||
# Function to fetch keys if missing
|
||||
fetch_keys_if_missing() {
|
||||
fetch_keys_if_missing()
|
||||
{
|
||||
if [[ ! -f "$KEYS_FILE" ]]; then
|
||||
log_message "Keys file '$KEYS_FILE' not found. Attempting to fetch from $KEYS_SOURCE..."
|
||||
mkdir -p "$(dirname "$KEYS_FILE")"
|
||||
@@ -111,7 +116,8 @@ fetch_keys_if_missing() {
|
||||
}
|
||||
|
||||
# Function to encrypt files or directories
|
||||
encrypt_file_or_directory() {
|
||||
encrypt_file_or_directory()
|
||||
{
|
||||
local file="$1"
|
||||
if [[ -d "$file" ]]; then
|
||||
for f in "$file"/*; do
|
||||
@@ -120,7 +126,7 @@ encrypt_file_or_directory() {
|
||||
elif [[ -f "$file" ]]; then
|
||||
fetch_keys_if_missing
|
||||
local output_file="${file}.age"
|
||||
age -R "$KEYS_FILE" "$file" >"$output_file"
|
||||
age -R "$KEYS_FILE" "$file" > "$output_file"
|
||||
if [[ $? -eq 0 ]]; then
|
||||
log_message "File encrypted successfully: $output_file"
|
||||
else
|
||||
@@ -131,7 +137,8 @@ encrypt_file_or_directory() {
|
||||
}
|
||||
|
||||
# Function to decrypt files or directories
|
||||
decrypt_file_or_directory() {
|
||||
decrypt_file_or_directory()
|
||||
{
|
||||
local file="$1"
|
||||
if [[ -d "$file" ]]; then
|
||||
for f in "$file"/*.age; do
|
||||
@@ -140,7 +147,7 @@ decrypt_file_or_directory() {
|
||||
elif [[ -f "$file" ]]; then
|
||||
fetch_keys_if_missing
|
||||
local output_file="${file%.age}"
|
||||
age -d -i "$KEYS_FILE" "$file" >"$output_file"
|
||||
age -d -i "$KEYS_FILE" "$file" > "$output_file"
|
||||
if [[ $? -eq 0 ]]; then
|
||||
log_message "File decrypted successfully: $output_file"
|
||||
else
|
||||
@@ -152,7 +159,7 @@ decrypt_file_or_directory() {
|
||||
|
||||
# Main logic
|
||||
case "$1" in
|
||||
e|enc|encrypt)
|
||||
e | enc | encrypt)
|
||||
if [[ $# -lt 2 ]]; then
|
||||
log_message "Error: No file or directory specified for encryption."
|
||||
print_help
|
||||
@@ -160,7 +167,7 @@ case "$1" in
|
||||
fi
|
||||
encrypt_file_or_directory "$2"
|
||||
;;
|
||||
d|dec|decrypt)
|
||||
d | dec | decrypt)
|
||||
if [[ $# -lt 2 ]]; then
|
||||
log_message "Error: No file or directory specified for decryption."
|
||||
print_help
|
||||
@@ -168,10 +175,10 @@ case "$1" in
|
||||
fi
|
||||
decrypt_file_or_directory "$2"
|
||||
;;
|
||||
help|--help)
|
||||
help | --help)
|
||||
print_help
|
||||
;;
|
||||
version|--version)
|
||||
version | --version)
|
||||
print_version
|
||||
;;
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user