shortLink

Dominic skrev ett inlägg förra veckan om ett litet perl-skript han skrivit för att snabbt och enkelt ta en url från urklipp och sedan skicka det till googles länkförkortnings-tjänst goo.gl, läsa ut svaret och lägga in det i urklipp. Man slipper en massa manuellt arbete ifall man vill ha en länk förkortad till sitt twitter-flöde eller facebook-status. Mycket fiffigt. Jag blev lite nyfiken på hur detta fungerar med python och kom fram till följande skript:

#! /usr/bin/env python

import sys, os
import re
try:
  import pygtk
  pygtk.require('2.0')
  import gtk
except:
  print "gtk not available can't use clipboard =("

def shorten2gtkClipboard():
  clip = gtk.clipboard_get()
  longUrl = clip.wait_for_text() #get longURL from clipboard
  
  try:
    answer = os.popen("""curl https://www.googleapis.com/urlshortener/v1/url -H 'Content-Type: application/json' -d '{\"longUrl\": \"""" + longUrl + "\"}\'")
  except:
    print "curl not available or failed for some reason, can't shorten url =("
    return -1
  for line in answer.readlines():
    if "id" in line: #find line with short URL
      print line
      shortUrl =  re.split("\"", line)[3] #trim everything but short URL
      clip.set_text(shortUrl)             #Insert short URL into clipboard
      clip.store()                        #Make it available to other apps
      break
  return 0

if __name__ == "__main__":
  sys.exit(shorten2gtkClipboard())


Funktionen bygger på gtk för att läsa och skriva till urklippen fördelen med detta är att det fungerar på både windows och linux, nackdelen är att gtk krävs.

Nu när det är gjort kanske jag får ta och börja använda det lite i mitt identi.ca-flöde

Etiketter: ,

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s


%d bloggare gillar detta: