Neue Safari Extension: Reconnect
Dienstag, 15. Juni 2010So, heute gibt es meine zweite Safari-Erweiterung “Reconnect“. Die Seite ist im Moment nur englisch, aber der Rest kommt noch.
So, heute gibt es meine zweite Safari-Erweiterung “Reconnect“. Die Seite ist im Moment nur englisch, aber der Rest kommt noch.
Seit gestern gibt es die neue Version von Apples Web-Browser Safari 5. Die wohl größte Neuerung ist die Möglichkeit Erweiterungen für den Browser aus CSS und JavaScript zu erstellen. Hier gibt es eine Liste mit (fast?) allen verfügbaren Erweiterungen bis Apple später im Sommer eine eigene Galerie anbietet.
Ich gehe mal davon aus, dass das noch besser wird. Im Moment kann man die Extensions ja auch nur über das Entwickler-Menü aktivieren. Bis die offizielle Extension-Galerie startet wird sich da also sowieso noch etwas tun müssen.
Mit diesem Shell-Skript kann man sich die Feed-URLs aus der PubSub-Datenbank (wie sie z.B. von Apple Mail verwendet wird) als OPML exportieren, z.B. um sie in Google Reader wieder zu importieren. Eine andere Möglichkeit habe ich nicht gefunden die RSS-URLs aus Mail zu bekommen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/bin/sh dbfile=~/Library/PubSub/Database/Database.sqlite3 if [ ! -r $dbfile ] then echo "Cannot read pubsub db file" >2 exit 1 fi dateCreated=`date` cat < < EOF <?xml version="1.0" encoding="utf-8"?> <opml version="1.1"> <head> <title>Feeds subscribed via PubSub</title> <datecreated>$dateCreated</datecreated> <ownername>$USER</ownername> </head> <body> <outline> EOF sqlite3 -batch $dbfile "select url from feeds" | while read url do echo "<outline type=\"rss\" xmlUrl=\"$url\" />" done cat < < EOF </outline> </outline></body> </opml> EOF |
Hier gibt es das Skript zum Download: pubsub2opml.sh
Bei Experimenten mit dem Open-Xchange HTTP-API habe ich die Klasse HTTPRequest für Cocoa entwickelt. Die Klasse verwendet das Cocoa JSON-Framework, um die vom Server gelieferten JSON-Daten zu parsen.
Hier der Code:
Ich stelle den Code so wie er ist als Public Domain zur Verfügung. Macht damit was ihr wollt, aber gebt mir nicht die Schuld wenn er irgend etwas unerwartetes tut. Ich würde mich freuen darüber zu hören, wenn ihr ihn benutzt oder wie ihr ihn verbessert.