iAlbumy zlinkowane

Posted on Fri 04 January 2008 in Uncategorized • 1 min read

Skończyłem właśnie skrypty. Prymityw ale robi swoje. Zdjęć nie kopiuję, bo po co?, tylko linkuję (niech żyje Unix!). Dopiero na koniec podepnę dysk USB i skopiuję oryginały na Macbooka Minii. Ok. 8 tysięcy zdjęć, jeszcze oczywiście nie poczyszczone. I to jest zgryz, bo może lepiej zrobić to przed eksportem.
Anyway, poniżej wypociny:
skrypty są dwa, jeden do trybu Preflight, drugi do PerItem, Postflight nie jest wykorzystywany.
Preflight jest taki:
#!/bin/sh
DIR="/Users/paczor/Desktop/ImageLinks"
ZNAKI=", . \ / + :"
if ! [ -d ${DIR} ] ; then
mkdir $DIR
fi
# iPAlbumCount - ile albumów
for (( i=0 ; i < iPAlbumCount ; i++ )) ; do
ALBUM_x=iPAlbumName_$i
eval ALBUM=\$$ALBUM_x
ALBUM=`echo "$ALBUM" | tr " " "_"`
# podejrzane znaki w nazwach albumów
# zamieniam na podkreślenie
for znak in $ZNAKI
do
ALBUMTEMP=`echo "$ALBUM" | tr "$znak" "_"`
ALBUM="$ALBUMTEMP"
done
# usuwam zbędne znaki i ciąg "_Album"
ALBUM=`echo "$ALBUM" | sed -e 's/\!//'`
ALBUM=`echo "$ALBUM" | sed -e 's/__/_/'`
ALBUM=`echo "$ALBUM" | sed -e 's/_Album$//'`
ALBUMPATH="$DIR/$ALBUM"
if ! [ -d ${ALBUMPATH} ] ; then
mkdir "$ALBUMPATH"
fi
done
PerItem jest taki:
#!/bin/sh
DIR="/Users/paczor/Desktop/ImageLinks"
ZNAKI=", . \ / + :"
for i in $iPAlbumsOfImage
do
ALBUM_x=iPAlbumName_$i
eval ALBUM=\$$ALBUM_x
ALBUM=`echo "$ALBUM" | tr " " "_"`
for znak in $ZNAKI
do
ALBUMTEMP=`echo "$ALBUM" | tr "$znak" "_"`
ALBUM="$ALBUMTEMP"
done
ALBUM=`echo "$ALBUM" | sed -e 's/\!//'`
ALBUM=`echo "$ALBUM" | sed -e 's/__/_/'`
ALBUM=`echo "$ALBUM" | sed -e 's/_Album$//'`
ALBUMPATH="$DIR/$ALBUM"
ln -s "$iPImageSourcePath" "$ALBUMPATH"
done
Testy wykazały, że przy dużej ilości zdjęć iPhoto się zawiesza w trakcie użycia powyższych skryptów. Zachodzi pytanie: w czym problem? Może system plików? Może któreś pliki mają zbyt wydziwione nazwy?