Created
August 20, 2024 17:52
-
-
Save GwynethLlewelyn/a7bc7f47dbf37127e9f157c347bc495a to your computer and use it in GitHub Desktop.
Shell script that will grab all Second Life textures necessary for a specific LLSD XML backup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Grab all possible textures from LL's own CDN, referenced by UUID from LLSD backups. | |
# Usage: Go to where your LLSD XML files are stored; run script. Wait a few seconds. Done! | |
# (cc) 2024 by Gwyneth Llewelyn. Some rights reserved. | |
# Distributed under the MIT license: https://gwyneth-llewelyn.mit-license.org | |
# Second Life® is a registered trademark of Linden Lab. No copyright infringement is intended. | |
# | |
LLURL=http://asset-cdn.glb.agni.lindenlab.com/?texture_id= | |
for uuid in $( ug -U -P --format='%1%~' --regexp '<uuid>([a-f0-9\-]+)</uuid>' -- *.xml | sort | uniq ) ; | |
do | |
if [ -f $uuid ]; | |
then | |
echo $uuid "(skipped) 🆗" | |
continue | |
fi | |
assetdir=$( echo $uuid | cut -b 1 ); | |
if [ -f ~/Library/Caches/SecondLife/assets/$assetdir/$uuid.asset ]; | |
then | |
cp ~/Library/Caches/SecondLife/assets/$assetdir/$uuid.asset $uuid | |
if [ $? -eq 0 ]; | |
then | |
echo $uuid "(from cache) ✅" | |
else | |
echo "⚠️ Copy \"~/Library/Caches/SecondLife/assets/$assetdir/$uuid.asset to $uuid\" failed with error $? ⚠️" | |
fi | |
else | |
# Attempt to retrieve it remotely | |
curl -o $uuid $LLURL$uuid | |
if [ $? -eq 0 ]; | |
then | |
echo $uuid "(from direct download) ✅" | |
else | |
echo $uuid ❌ | |
fi | |
fi | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment