TinyURL auf Zwischenspeicher anwenden 12. September 2008 um 15:28 Uhr / Programming

Eingestellt am 12. September 2008 um 15:28 Uhr » Programming

Einige von euch benutzen vielleicht sogar schon mein altes Screenschot-Hochladescript, heute will ich ein paar Teile davon wiederverwerten und ein kleines Script schreiben, dass eine URL aus dem Zwischenspeicher nimmt, sie durch den Dienst TinyURL jagt und das Ergebnis, also die verkürzte URL stattdessen in den Zwischenspeicher läd, so dass man sie nur noch irgendwo hinpasten muss. Das ist nützlich bei Twitter, wenn man jemandem eine lange URL Zitieren oder per E-Mail schicken muss oder auch in einem Chat.

Ein paar Zwischenschritte

Damit das ganze auch schön einfach und sinnvoll funktioniert und wir auch mitbekommen dass die kurze URL auch wirklich im Speicher landet braucht es ein paar Zwischenschritte:

  1. Wir müssen das Script sehr einfach aufrufen können. Es wäre sinnlos erst das Teminal aufzumachen um es damt zu starten also nutzen wir Quicksilver

  2. Wir brauchen von TinyURL eine API und einen Client der mit ihr sprechen kann, und dazu nutzen wir das auf jedem OS X Rechner installierte curl
  3. Schlussendlich wollen wir wissen wann das ganze fertig zum irgendwohin-posten ist, und dazu nutzen wir Growl.

Keine Angst wenn ihr etwas davon nicht kennt, ich werde weiterführende Links dazuposten. Also los geht es!

TinyURL-API und Curl

Als erstes habe ich mich auf die Suche nach einer API für TinyURL gemacht und siehe da, es gibt eine wunderbare, die besser hätte nicht sein können: http://tinyurl.com/api-create.php?url=, als url-Parameter will das ding einfach die lange URL haben und es gibt einfach die verkürzte URL zurück. Die Tools die wir dazu benutzen sind volgende:

curl -s http://tinyurl.com/api-create.php?url=`pbpaste` | pbcopy

Notifikation mit Growl

Growl Beispiel Das ist schon mal prima und es funktioniert wunderbar. Doch da es ja ein bischen dauert bis der Service antwortet weiß man nie so richtig ob es schon fertig ist und man es pasten kann oder nicht. Aber es gibt unter OS X doch diesen Notifikationsdienst Growl den sowieso eigentlich alle installiert haben und nutzen, was läge also näher als sich dessen zu bedienen?

Für die Shell gibt es da das Tool growlnotify das eigentlich jeder haben sollte, der Growl selbst installiert hat. Für unser Vorhaben reicht da dann so etwas:

growlnotify "TinyURL" -m `pbpaste`

Quicksilver Logo Quicksilver

Quicksilver ist der "Applouncher" meines Vertrauens. Aber natürlich kann man das Script auch mit Spotlight starten, was mir aber ein bisschen langsamer und unkomfortabler vorkommt.

Das fertige Script

Wenn wir die einzelnen Schritte jetzt zusammensetzen und noch eine Shebang, damit das ding auch ausgeführt werden kann, dazumachen dann sieht das ganze so aus:

#!/bin/sh

# tinyurl.sh takes a url from the message buffer and
# turns it to a TinyURL which its writes back to it

curl -s http://tinyurl.com/api-create.php?url=`pbpaste` | pbcopy
growlnotify "TinyURL" -m `pbpaste`

Das ganze Speichern wir nur noch in einer Datei mit dem Namen tinyurl.sh. Ich speichere meine privaten Scripte unter ~/Library/Scripts/.

Sobald Quicksilver das Script gefunden hat sind wir fertig mit der Übung, aber Achtung ~/Library/Scripts/ ist nicht in den Default-Suchpfaden von Quicksilver, das muss man erst dazulegen.

Ich hoffe ihr kopiert nicht nur einfach das Script ohne nachzudenken sondern guckt euch die einzelnen Befehle an und verwendet sie in Zukunft auch für andere Scripte die ihr dann in eueren Blogs veröffentlicht, sonst wäre es fast ein bisschen schade um die viele Beschreibung ;-).


Kommentare

Die Kommentare sind für diesen Eintrag geschlossen.