Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Apple Bestellstatus v2.29
#1

Hallo zusammen,

ich habe mal nen Skript geschrieben, um auf der Linux-Konsole den aktuellen Status seiner Apple Bestellung einsehen zu können und sich bei jeder Änderung am Bestellstatus oder Liefertermin per E-Mail benachrichtigen zu lassen. Per Crontab kann man das Skript z.B. alle 15 Minuten ausführen lassen.

Code:
#!/bin/bash
### Apple Bestellstatus v2.29 by baba (baba.boese@gmail.com)
### Crontab: */15 * * * * /root/apple-status/apple-status.sh > /dev/null

### Apple Bestellnummer
appleorderid=WXXXXXXXXX

### PLZ der Lieferadresse
appleplz=XXXXX

### E-Mail Adresse fuer Benachrichtung
infoemail=XXX@XXX.de

### Verzeichnis in dem dieses Skript liegt
rootdir=/root/apple-status


############# DO NOT EDIT #############
ver=2.29
webstatus=$appleorderid.data
echo "("$appleorderid") Apple Bestellstatus $ver by baba"

if [ -f "$rootdir/$webstatus" ]; then mv $rootdir/$webstatus $rootdir/$webstatus.old ; fi
if wget -q https://store.apple.com/de/order/guest/$appleorderid/$appleplz -P $rootdir
then
    mv $rootdir/$appleplz $rootdir/$webstatus
    status=`less $rootdir/$webstatus | grep '<span rel="delivery-states" data-content-class="delivery processing" class="info-bubble-link icon right"></span>' -B 2 |grep '"strong">' | cut -f 2 | sed 's!<span class="strong">!!g' | sed 's!</span>!!g'`
    delivery=`less $rootdir/$webstatus | grep 'Liefert&' | cut -f 2 | sed 's!            Liefert&nbsp;!!g'`
    orderdate=`less $rootdir/$webstatus | grep 'Bestellt am' | sed 's! <h2 class="h2 strong">Bestellt am&nbsp;!!' | sed 's!</h2>!!g' | cut -b 17-`
    rdytodeliver=`less $rootdir/$webstatus | grep 'Versandfertig in' | sed 's!            Versandfertig in:&nbsp;!!g'`
    if [ "$status" = "$orderdate" ]; then
        echo "("$appleorderid") Apple Bestellstatus nicht erreichbar!"
        exit 0
    fi
    echo "("$appleorderid") Bestellt am: "$orderdate
    echo "("$appleorderid") Versandfertig in "$rdytodeliver" nach Bestellung"
    if [ -f "$rootdir/$webstatus.old" ]; then
        oldstatus=`less $rootdir/$webstatus.old | grep '<span rel="delivery-states" data-content-class="delivery processing" class="info-bubble-link icon right"></span>' -B 2 |grep '"strong">' | cut -f 2 | sed 's!<span class="strong">!!g' | sed 's!</span>!!g'`
        olddelivery=`less $rootdir/$webstatus.old | grep 'Liefert&' | cut -f 2 | sed 's!            Liefert&nbsp;!!g'`
        if [ "$status" = "$oldstatus" ]; then
            echo "("$appleorderid") Apple Bestellstatus nicht geaendert: "$status
            #echo "("$appleorderid") Apple Bestellstatus nicht geaendert: "$status" - Liefertermin: "$delivery | mail -s "($appleorderid) Apple Bestellstatus nicht geaendert" $infoemail
        else
            if [ "$status" = "Versandt" ]; then
                echo "("$appleorderid") Herzlichen Glueckwunsch! Ihr Artikel wurde versandt (Liefertermin: "$delivery"), die Sendeverfolgungsnummer und alle weiteren Informationen koennen Sie unter https://store.apple.com/de/order/guest/$appleorderid/$appleplz finden! Bitte vergessen Sie nicht, den Crontab-Eintrag zu entfernen. Vielen Dank, dass Sie Appple Bestellstatus "$ver" by baba verwendet haben!"
                echo "("$appleorderid") Herzlichen Glueckwunsch! Ihr Artikel wurde versandt (Liefertermin: "$delivery"), die Sendeverfolgungsnummer und alle weiteren Informationen koennen Sie unter https://store.apple.com/de/order/guest/$appleorderid/$appleplz finden! Bitte vergessen Sie nicht, den Crontab-Eintrag zu entfernen. Vielen Dank, dass Sie Appple Bestellstatus "$ver" by baba genutzt haben!" | mail -s "($appleorderid) Apple Bestellstatus $ver by baba" $infoemail
                exit 0
            fi
            echo "("$appleorderid") Apple Bestellstatus geaendert: "$status" (Alter Status: "$oldstatus")"
                        echo "("$appleorderid") Apple Bestellstatus geaendert: "$status" - Liefertermin: "$delivery" (Alter Status: "$oldstatus")" | mail -s "($appleorderid) Apple Bestellstatus geaendert!" $infoemail
        fi
    
        if [ "$delivery" = "$olddelivery" ]; then
                    echo "("$appleorderid") Apple Liefertermin nicht geaendert: "$delivery
                    #echo "("$appleorderid") Apple Liefertermin nicht geaendert: "$delivery" - Bestellstatus: "$status | mail -s "($appleorderid) Apple Liefertermin nicht geaendert" $infoemail
            else
                    echo "("$appleorderid") Apple Liefertermin geaendert: "$delivery" (Alter Liefertermin: "$olddelivery")"
                    echo "("$appleorderid") Apple Liefertermin geaendert: "$delivery" - Bestellstatus: "$status" (Alter Liefertermin: "$olddelivery")" | mail -s "($appleorderid) Apple Liefertermin geaendert!" $infoemail
            fi
    else
        echo "("$appleorderid") Kein alter Apple Bestellstatus vorhanden. Aktueller Status: "$status" - Liefertermin: "$delivery
        #echo "("$appleorderid") Kein alter Apple Bestellstatus vorhanden. Aktueller Status: "$status" - Liefertermin: "$delivery | mail -s "($appleorderid) Kein alter Apple Bestellstatus vorhanden" $infoemail
        echo "("$appleorderid") Bestellt am: "$orderdate" und Versandfertig in "$rdytodeliver" nach Bestellung." | mail -s "($appleorderid) Apple Bestellstatus $ver by baba" $infoemail
    fi
else
    echo "("$appleorderid") Apple Bestellstatus nicht erreichbar!"
fi

Gruß baba
Zitieren




Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste