xscDevBlog – LastSharp & Co.

Der xscheme-DevelopmentBlog

Archive for the ‘Lapicon’ Category

Inside Last.FM: Silent Authentication für API 2.0

with one comment

Update (17.07.2009): Das hier ist (abgesehen von den “Skills”, die ich dabei gebraucht hab) wohl ziemlich überflüssig, wenn man die API-Methode auth.getMobileSession mal genauer betrachtet. Wieder was gelernt: RTFM!

Da im Moment anscheinend wieder Änderungen am Last.FM-Webservice gemacht werden, die dazu geführt haben, dass LastSharp höchstens noch mithilfe der “Modifizierten Verbindung” (unter “Erweiterte Einstellungen” >> “Verschiedenes”) funktioniert, habe ich mir mal das Radio-API angesehen, das ja anscheinend die Zukunft des Radiostreamings bei Last.FM ist. Was mich daran allerdings stört, ist die umständliche Anmeldeprozedur: Token holen, Browser öffnen, auf Authentifizierung warten, Session holen.

Der Umweg über den Browser ist einfach unschön, weshalb ich nach einer Lösung gesucht habe, die den Login sowie die anschließende Bestätigung eines Users im Hintergrund simuliert, sodass er das eigentliche Programm nicht verlassen muss.

Read the rest of this entry »

Written by

Juli 8th, 2009 at 11:47 pm

Posted in C#, General, Lapicon, Web

Tagged with

Zwischenstand: Universal Version Description (UVD) / Entwickler gesucht

without comments

Ich möchte an dieser Stelle einmal auf den aktuellen Stand des hier begonnenen Projekts verweisen, der sich wie folgt darstellt: Ich habe das UVD-Format weiter ausgearbeitet und angepasst und damit begonnen, eine C#-Bibliothek zu schreiben, die dessen Verarbeitung dient.

Als Beispiel sei die UVD von LastSharp gegeben, die wir im folgenden Codebeispiel mithilfe einer XSL-Transformation (DescriptionPage.xsl) in eine HTML-Datei verwandeln. Das soll illustrieren, wie einfach die Verwendung von UVD sein kann, wenn entsprechende Bibliotheken vorhanden sind:

UVD lastsharp = UVD.Create("http://dev.xscheme.de/uvd/lastsharp.uvd.xml");
lastsharp.Save("c:/lastsharp.htm", "http://dev.xscheme.de/uvd/DescriptionPage.xsl");

Nun haben wir eine Datei “lastsharp.htm”, die hier eingesehen werden kann und Beschreibungen in verschiedenen Sprachen und Längen bietet, Downloadlinks, etc… Außerdem sind (wie man bei der Ansicht des Quelltextes feststellen kann) auch die META-Tags zu Schlüsselwörtern und Beschreibungen bereits gesetzt, sodass die Seite auch für Suchmaschinen verwendbar ist.

Read the rest of this entry »

Written by

Mai 13th, 2009 at 4:17 pm

Wie verwende ich Lapicon in meinem eigenen Programm? (.NET)

with 3 comments

Lapicon (Loose API Connection Language) kann (ab Version 1.0.10) auf einfache Art und Weise im eigenen Programm verwendet werden.

Um zu lernen, wie das geht, entwickeln wir hier (mit C#, aber eine Übertragung auf andere .NET-Sprachen dürfte jeder einigermaßen versierte Programmierer hinbekommen) ein Mini-Programm, das in einem Fenster zwei Eingabefelder für “Interpret” und “Titel” bereitstellt und das zugehörige Album findet. Ich gebe zu, keine bahnbrechende Idee, aber zur Demonstration reicht’s. Read the rest of this entry »

Written by xsc

April 26th, 2009 at 8:43 pm

Posted in HowTo, Lapicon

Tagged with , ,

Wie baue ich mir ein Script mit Lapicon?

with 4 comments

Lapicon (Loose API Connection Language) ist ein Interpreter für eine Scriptsprache, die auf den ersten Blick Ähnlichkeiten mit dem Windows-Eigenen Batch hat und dafür gedacht ist, mit Webservern in Verbindung zu treten, die ihre Daten als XML bereitstellen und REST-Anfragen über HTTP-GET unterstützen. Soweit die Theorie.

Praktisch gesehen ist Lapicon eine einfache Möglichkeit, Webservices zu verwenden. Und geeignete gibt es (wie die Google-Suche nach “REST-API” schon bald zeigt) einige:

  • Last.FM (http://www.last.fm/api)
  • Flickr (http://www.flickr.com/services/api/)
  • Twitter (http://apiwiki.twitter.com/Twitter-API-Documentation)
  • Wuala (http://www.wuala.com/de/api)

Aber wie geht man nun vor, wenn man Lapicon für irgendeines dieser APIs verwenden will? Diese Frage will ich in diesem Artikel beantworten, anhand zweier Beispiele: den Skripts DownloadAlbumAfterSearch.lpc und Lyrics.lpc aus dem Paket DarkSharpScripts, das ab Version 1.0.9 von Lapicon im Verzeichnis “packages” zu finden ist. Das erste Script sucht anhand einer Eingabe alle in Frage kommenden Alben und lässt den User eines auswählen, das anschließend komplett von Last.FM heruntergeladen wird (wenn möglich). Und das zweite findet mithilfe der LyricWiki (noch eine Seite, die REST-Anfragen unterstützt!) den Songtext zu einem vom User eingegebenen Musiktitel.

Read the rest of this entry »

Written by xsc

April 25th, 2009 at 1:06 am

Posted in HowTo, Lapicon

Tagged with , , , ,

[Release] Lapicon 1.0.5

with 9 comments

Ich habe vor einiger Zeit bereits einmal Lapicon erwähnt. Der Name steht für “Loose API Connection Language” und bezeichnet eine Scriptsprache, die Ähnlichkeiten mit Batch aufweist und dafür gedacht ist, mit XML-basierten WebServices zu interagieren.

Das klingt jetzt extrem technisch, das gebe ich zu, aber im Prinzip ist es ganz einfach: das Last.FM-API beispielsweise kann über Adressen der Form

http://ws.audioscrobbler.com/2.0/?method=[Funktion]&api_key=[APIKey]&[sonstige Parameter]

aufgerufen werden. Daraufhin wird eine Antwort gesendet, die folgende Form hat:

<?xml version="1.0" encoding="utf-8" ?>
<lfm status="ok">
(...)
</lfm>

Will man diese Antworten nun auswerten, müsste man sie als Programmierer zuerst per Hand auseinandernehmen oder auf entsprechende Bibliotheken zurückgreifen. Hinzu kommt natürlich der Aufwand beim Erstellen der Anfrage, beim Fehler abfangen, etc… Meist hat man dann mehr Daten gesammelt, als man eigentlich benötigt, hatte einen Haufen Schreibaufwand und weiß, bei der nächsten Anfrage geht’s wieder von vorne los. Lapicon übernimmt das alles und ermöglicht so eine gezielte Abfrage und Ausgabe von Daten in drei Zeilen.

Read the rest of this entry »

Written by xsc

April 22nd, 2009 at 3:15 pm

Posted in Lapicon

Tagged with ,

Lapicon: Loose API Connection Language

with 11 comments

Im Moment arbeite ich an einem kleinen Tool mit dem Arbeitstitel “LessSharp”, dass sich – ähnlich wie Lea, deren Funktionen es womöglich übernehmen wird, aber das weiß ich noch nicht – aus der Grauzone LastSharps erhebt und auf ganz legalem Wege nützlich sein soll. Als kleines Nebenprodukt ist Lapicon entstanden – ein Interpreter für eine Batch-ähnliche Skriptsprache, die dafür gedacht ist, einfache Last.FM-API-Anfragen zu senden.

Read the rest of this entry »

Written by xsc

März 19th, 2009 at 2:11 am

Posted in Lapicon