Move upload-consultant-photos.sh from scripts/ to automation/ (consolidation)

This commit is contained in:
2026-02-15 13:19:53 -06:00
parent 49476807b8
commit 24415a8d8c

View File

@@ -0,0 +1,121 @@
#!/bin/bash
# Consultant Photos Upload Script
# Created by The Builder (Chronicler the Sixth) - February 13, 2026
# For The Seventh to execute
set -e
# Configuration
GITEA_TOKEN="YOUR_TOKEN_HERE" # The Seventh: Retrieve from Vaultwarden
GITEA_URL="https://git.firefrostgaming.com/api/v1/repos/firefrost-gaming/firefrost-operations-manual/contents"
PHOTO_DIR="/tmp" # Directory containing renamed photos
# Color output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE} Consultant Photos Upload Script${NC}"
echo -e "${BLUE} The Builder → The Seventh${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""
# Check for token
if [ "$GITEA_TOKEN" = "YOUR_TOKEN_HERE" ]; then
echo "ERROR: Please retrieve Gitea API token from Vaultwarden and update GITEA_TOKEN variable"
echo "Token is stored as: 'Gitea API Token (Command Center)'"
exit 1
fi
# Photos to upload (already renamed by The Builder)
declare -A PHOTOS
PHOTOS["2016/2016-11-19_butter-with-companion-cuddling-gladys-era_01.jpg"]="Butter with companion - Gladys era"
PHOTOS["2016/2016-11-19_butter-kitten-with-toys-first-year_01.jpg"]="Butter as kitten - First year"
PHOTOS["2017/2017-10-09_butter-on-bed-ice-king-surveying_01.jpg"]="Butter surveying domain - Ice King"
PHOTOS["2020/2020-04-14_butter-relaxed-pre-throne-era_01.jpg"]="Butter relaxed - Pre-throne era"
PHOTOS["2020/2020-10-31_oscar-formal-portrait-sentinel-duty_01.jpg"]="Oscar formal portrait - Sentinel on duty"
PHOTOS["2021/2021-03-17_oscar-derpy-happy-expression-recruit_01.jpg"]="Oscar derpy expression - The recruit"
PHOTOS["2022/2022-06-11_jasmine-red-collar-protector-training_01.jpg"]="Jasmine - Protector in training"
PHOTOS["2023/2023-04-17_jack-profile-ambassador-contemplative_01.jpg"]="Jack profile - Ambassador contemplative"
PHOTOS["2024/2024-02-02_michael-and-jack-wizard-companion-partnership_01.jpg"]="Michael with Jack - The partnership"
PHOTOS["2025/2025-02-07_noir-lounging-blankets-converted-peaceful_01.jpg"]="Noir lounging - The Converted at peace"
# Function to upload a photo
upload_photo() {
local path=$1
local description=$2
local filename=$(basename "$path")
local filepath="photos/images/$path"
echo -e "${BLUE}Uploading:${NC} $filename"
echo -e " Description: $description"
# Check if file exists
if [ ! -f "${PHOTO_DIR}/${filename}" ]; then
echo " ERROR: File not found: ${PHOTO_DIR}/${filename}"
return 1
fi
# Encode to base64
local content=$(base64 -w 0 "${PHOTO_DIR}/${filename}")
# Upload via Gitea API
local response=$(curl -s -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"${GITEA_URL}/${filepath}" \
-d "{
\"message\": \"Add consultant photo: ${description}\",
\"content\": \"${content}\"
}")
# Check if successful
if echo "$response" | grep -q '"sha"'; then
echo -e " ${GREEN}✓ Uploaded successfully${NC}"
return 0
else
echo " ERROR: Upload failed"
echo " Response: $response"
return 1
fi
}
# Upload all photos
echo "Starting upload of 10 consultant photos..."
echo ""
SUCCESS_COUNT=0
FAIL_COUNT=0
for path in "${!PHOTOS[@]}"; do
description="${PHOTOS[$path]}"
if upload_photo "$path" "$description"; then
((SUCCESS_COUNT++))
else
((FAIL_COUNT++))
fi
echo ""
sleep 1 # Rate limiting courtesy
done
echo -e "${BLUE}========================================${NC}"
echo -e "Upload Summary:"
echo -e " ${GREEN}Successful: ${SUCCESS_COUNT}${NC}"
if [ $FAIL_COUNT -gt 0 ]; then
echo -e " Failed: ${FAIL_COUNT}"
fi
echo -e "${BLUE}========================================${NC}"
if [ $FAIL_COUNT -eq 0 ]; then
echo -e "${GREEN}All photos uploaded successfully!${NC}"
echo ""
echo "Next steps:"
echo "1. Verify photos in repo: git.firefrostgaming.com"
echo "2. Update photos/catalog.md with entries from consultant-photos-catalog-additions.md"
echo "3. Review consultant-profiles.md to understand the lore"
exit 0
else
echo "Some uploads failed. Review errors above."
exit 1
fi