emkay443

Imgur Upload + Zwischenablage

Aug 11th, 2013
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.23 KB | None | 0 0
  1. #!/bin/bash
  2. # Lädt ein Bild auf imgur hoch und legt den Link in die Zwischenablage
  3. #
  4. # Author: Michael Koch (Emkay443) (m<DOT>koch<AT>emkay443<DOT>de)
  5. # Version: 2013-08-31
  6. # License: GNU General Public License v3 (http://www.gnu.de/documents/gpl-3.0.en.html)
  7.  
  8. # Abhängigkeiten prüfen
  9. if [[ ! "$(which curl)" ]]; then toInst=$toInst" curl"; fi
  10.  
  11. # Wenn alles okay: Hochladen und Link in Zwischenablage legen
  12. if [[ -z $toInst ]]; then
  13.     for file in "$@"; do
  14.         notify-send --hint=int:transient:1 "Upload" "Das Bild wird hochgeladen..."
  15.         # Versuche das Bild hochzuladen (via curl) und lege die Rückgabe auf die Var. $TEXT
  16.         TEXT=$(curl -F "image"=@"$file" -F "key"="5d317f0bee23b282473522e1aa68f621" http://imgur.com/api/upload.xml);
  17.         # Wenn die Rückgabe overload, 404 oder error beinhaltet, gebe Fehlermeldung aus
  18.         if [[ "$TEXT" == *overload* ]]; then
  19.             notify-send --hint=int:transient:1 "Imgur Server überlastet" "Bild konnte nicht hochgeladen werden.\nDie Server sind überlastet.";
  20.         elif [[ "$TEXT" == *404* ]]; then
  21.             notify-send --hint=int:transient:1 "Imgur Server nicht erreichbar" "Bild konnte nicht hochgeladen werden.\nDie Server sind nicht erreichbar (Fehler 404)";
  22.         elif [[ "$TEXT" == *error* ]]; then
  23.             notify-send --hint=int:transient:1 "Imgur Server nicht erreichbar" "Bild konnte nicht hochgeladen werden.\nDie Server sind nicht erreichbar (unbekannter Fehler)";
  24.         else
  25.             # Ansonsten beschneide den Text um unnötigen Kram
  26.             # und lege den Link zum Bild in die Zwischenablage
  27.             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');
  28.             echo -e "$TEXT" | xclip -sel clip
  29.             notify-send --hint=int:transient:1 "Imgur Upload" "Upload erfolgreich.\n\nLink: <a href='$TEXT'>$TEXT</a>\n\nDer Link zu dem Bild liegt in der Zwischenablage."
  30.             play /usr/share/sounds/freedesktop/stereo/complete.oga
  31.         fi
  32.     done
  33. else
  34.     # Abhängigkeitsprobleme: Nutzer darüber aufmerksam machen.
  35.     notify-send "FEHLER!" "Abhängigkeitsprobleme!"
  36.     echo "Folgende Pakete fehlen auf Ihrem System:$toInst"
  37.     zenity --warning --title "Abhängigkeitsprobleme" --text "Folgende Pakete fehlen auf Ihrem System:\n$toInst" 0 0
  38.     exit 1
  39. fi
  40. exit 0
Advertisement
Add Comment
Please, Sign In to add comment