Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Lädt ein Bild auf imgur hoch und postet den Link auf Twitter
- #
- # Author: Michael Koch (Emkay443) (m.koch<AT>emkay443<DOT>de)
- # Version: 2013-08-31
- # License: GNU General Public License v3 (http://www.gnu.de/documents/gpl-3.0.en.html)
- # Abhängigkeiten prüfen
- if [[ ! "$(which curl)" ]]; then toInst=$toInst" curl"; fi
- if [[ ! "$(which urlencode)" ]]; then toInst=$toInst" gridsite-clients"; fi
- # Wenn alles okay: Hochladen und Twitter öffnen
- if [[ -z $toInst ]]; then
- for file in "$@"; do
- notify-send --hint=int:transient:1 "Upload" "Das Bild wird hochgeladen..."
- # Versuche das Bild hochzuladen (via curl) und lege die Rückgabe auf die Var. $TEXT
- TEXT=$(curl -F "image"=@"$file" -F "key"="5d317f0bee23b282473522e1aa68f621" http://imgur.com/api/upload.xml);
- # Wenn die Rückgabe overload, 404 oder error beinhaltet, gebe Fehlermeldung aus
- if [[ "$TEXT" == *overload* ]]; then
- notify-send --hint=int:transient:1 "Imgur Server überlastet" "Bild konnte nicht hochgeladen werden.\nDie Server sind überlastet.";
- elif [[ "$TEXT" == *404* ]]; then
- notify-send --hint=int:transient:1 "Imgur Server nicht erreichbar" "Bild konnte nicht hochgeladen werden.\nDie Server sind nicht erreichbar (Fehler 404)";
- elif [[ "$TEXT" == *error* ]]; then
- notify-send --hint=int:transient:1 "Imgur Server nicht erreichbar" "Bild konnte nicht hochgeladen werden.\nDie Server sind nicht erreichbar (unbekannter Fehler)";
- else
- # Ansonsten beschneide den Text um unnötigen Kram
- # und öffne Twitter mit einem neuen Post
- TEXT=$(echo -e "$TEXT" | grep -Eo '<[a-z_]+>http[^<]+'|sed 's/^<.\|_./\U&/g;s/_/ /;s/<\(.*\)>/\1:\ /' | awk 'NR == 1' | sed -e 's/Original Image: //' | tr -d '\n');
- TEXT=$(urlencode -m $TEXT)
- x-www-browser http://twitter.com/intent/tweet/?url=$TEXT &
- fi
- done
- else
- # Abhängigkeitsprobleme: Nutzer darüber aufmerksam machen.
- notify-send "FEHLER!" "Abhängigkeitsprobleme!"
- echo "Folgende Pakete fehlen auf Ihrem System:$toInst"
- zenity --warning --title "Abhängigkeitsprobleme" --text "Folgende Pakete fehlen auf Ihrem System:\n$toInst" 0 0
- exit 1
- fi
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment