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
    :literal:`ALBUM=`echo "$ALBUM" | tr " " "\_"\
    # podejrzane znaki w nazwach albumów
    # zamieniam na podkreślenie
    for znak in $ZNAKI
    do
        :literal:`ALBUMTEMP=`echo "$ALBUM" | tr "$znak" "\_"\
        ALBUM="$ALBUMTEMP"
    done
    # usuwam zbędne znaki i ciąg "_Album"
    :literal:`ALBUM=`echo "$ALBUM" | sed -e 's/\\!//'\
    :literal:`ALBUM=`echo "$ALBUM" | sed -e 's/\_\_/\_/'\
    :literal:`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
    :literal:`ALBUM=`echo "$ALBUM" | tr " " "\_"\
    for znak in $ZNAKI
    do
        :literal:`ALBUMTEMP=`echo "$ALBUM" | tr "$znak" "\_"\
        ALBUM="$ALBUMTEMP"
    done
    :literal:`ALBUM=`echo "$ALBUM" | sed -e 's/\\!//'\
    :literal:`ALBUM=`echo "$ALBUM" | sed -e 's/\_\_/\_/'\
    :literal:`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?