In Vorbereitung...
Yigglib-Tutorial
Hier sind ein paar Beispiele die den Umgang mit der yigglib zeigen. Für die meisten Beispiele hier werdet ihr einen API-KEY von YiGG brauchen. Den bekommt jeder registrierte User, er muss ihn nur in seinen Einstellungen auslesen.
Das Tutorial zeigt nicht alle Funktionen, sondern nur ein paar wenige Beispiele, den Rest muss man sich dann mit dem Reference Manual selbst zusammensuchen.
Die Frontpage
Für das erste Beispiel braucht ihr keinen API-KEY, da wir die Frontpage auslesen. Und zwar per RSS.
import yigg
fp = yigg.frontpage.all(method='RSS', api_key='')
for i in fp:
print unicode(i)
Das Beispiel soll zwei Sachen verdeutlichen. Sachen die ihr ausgeben wollt, müssen immer mit unicode(bla) ausgegeben werden, da das mit den verschiedenen Encodings nicht ganz meines ist...
Beobachtet die Ausgabe:
Article:168627;19;Dienstag: 24 Stunden ohne Google
Article steht dafür, dass es sich um einen Artikel (eine Story) handelt.
Dann kommt die ID, die Anzahl der YiGGs und der Titel.
Natürlich sind das nicht alle bekannten Informationen...
Ab hier brauchst du jetzt einen API-KEY. In dem Beispiel hier wird das "foobarfobar" sein.
Holen wir uns die externen URLs der 50 ersten Stories auf der Frontpage.
import yigg
fp = yigg.frontpage.all(method="REST", api_key="foobarfoobar")
for i in range(0, 51):
print fp[i].url
Achtung:Damit werden die 14 Seiten der Frontpage geholt. Das sind circa 200 Nachrichten (das alles muss zuerst übertragen werden, und dann geparst werden...). Die Operation kann also durchaus ein paar Sekunden dauern.
Das zeigt uns also 52 URLs, in 4 Zeilen Code.
Eine Story!
Beobachten wir eine Story mal etwas näher. (Dummerweise existiert Story 123456 nicht :P, wechselt also bitte die ID auf z.B. 123000...)
import yigg
my_story = yigg.article.get_story(123456, api_key="foobarfoobar")
for i in dir(my_story):
print i + ' : ' + str(getattr(my_story, i))
Ein Teil der Felder ist hier 0 (oder -1) oder ein leerer String oder ähnliches. Bei manchen Feldern ist das normal (etwa: gemeldet, flickr_thumbnails), man bekommt diese Informationen nicht über das REST-API. Das Feld "groups" hingegen ist normalerweise mit mehreren Gruppen-IDs gefüllt, aber diese Story ist in keiner Gruppe.
Ende...
Ist das das Ende? Vorläfig...Ja! Ich denke, dass ihr den Rest an Funktionalität mit der automatisch generierten Dokumentation herausfinden könnt.
Solttet ihr dennoch fragen haben: Gebt einen Kommentar im Blog oder schreibt mir auf YiGG eine PM (Username: hu8)