xscDevBlog – LastSharp & Co.

Der xscheme-DevelopmentBlog

Lapicon (Loose API Connection Language)

with 16 comments

LapiconLapicon (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.

Simpel ausgedrückt: Lapicon ist eine einfache Möglichkeit, WebServices zu verwenden.

Normalerweise muss man sich als Programmierer bei der Verwendung von (XML-basierten) APIs um vieles kümmern: Verbindungsherstellung (in .NET z.B. über die Klassen System.Net.HttpWebRequest und System.Net.HttpWebResponse), Fehlerbehandlung, XML-Verarbeitung (in .NET: Namespace System.Xml), etc… Einen großen Teil davon übernimmt jetzt Lapicon!

Geeignete WebServices / APIs

Ein Beispiel

Diese fünf Zeilen ermitteln das Album zu einem vom User eingegebenen Musikstück:

#lastfm
def artist << Interpret
def track << Titel
[track.getInfo : artist=<artist>&track=<track>] store track/album/title in album
echo <album>

Anleitung

Eine Schritt-für-Schritt-Anleitung zur Erstellung eines Lapicon-Scripts gibt es in folgendem Artikel:
Wie baue ich mir ein Script mit Lapicon?

Wie man Lapicon in seinem eigenen Programm verwendet, wird hier beschrieben:
Wie verwende ich Lapicon in meinem eigenen Programm? (.NET)

Referenz (1.0.10)

Die aktuelle Lapicon-Referenz ist hier online zur Ansicht verfügbar.

Download

Die aktuellste Lapicon-Version gibt es auf SourceForge zum Download:

https://sourceforge.net/project/showfiles.php?group_id=255668&package_id=319513

Enthaltene Pakete

Mit Lapicon werden folgende vollständig implementierte Pakete mitgeliefert:

  • DarkSharpScripts (seit Version 1.0.9):
    Bietet Scripts zum Download einzelner Tracks bis hin zu ganzen Alben von Last.FM (mit und ohne Suchfunktion), sowie Lyrics von LyricWiki.

Written by xsc

April 26th, 2009 at 5:15 pm

Posted in General

16 Responses to 'Lapicon (Loose API Connection Language)'

Subscribe to comments with RSS or TrackBack to 'Lapicon (Loose API Connection Language)'.

  1. [...] 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. [...]

  2. [...] 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. [...]

  3. Hey
    erstmal danke für die ganze Arbeit und die ganzen wirklich praktischen Tools!
    Aber ich habe leider ein Problem mit deinem DarkSharpeScripts.
    Ich habe mir die aktuellste Version geladen, entpackt und in dem Ordner das ” Download Album after search” doppelgeklickt, um es zu benutzen.
    Aber dann sagt es mir, dass die dazugehörige Config Datei fehlt.
    Diese ist aber 100% im gleichen Ordner.
    Ich wäre dankbar für eine Antwort.
    ~

    Armin

    2 Mai 09 at 19:38

  4. @Armin:
    Öffne die Datei doch bitte einmal mit irgendeinem Editor (Notepad müsste schon reichen) und füge vor der Zeile, die “inc(…)” enthält, folgendes ein:

    echo <script directory>/
    

    Das gibt das Verzeichnis aus, in dem Lapicon nach der Datei sucht. Steht dort das richtige Verzeichnis?

    Im Zweifelsfall müsstes du wohl alle “<script directory>” durch den Pfad ersetzen, in dem das Paket liegt. Aber ich denke, wir finden da schon eine Lösung.

    Yannick

    xsc

    2 Mai 09 at 20:18

  5. Hey
    danke für die schnelle Antwort.
    Deine Tipps haben schon mal was verändert.
    Hab eben den “echo” befehl davorgesetzt und alle “script directorys” gegen den Ort eingetauscht.
    Jetzt steht im Fenster in der ersten Zeile der richtige Ort,
    aber in der 2. Zeile heißt es:
    Error: malformed Lapicon Statement: #version 1.0.7

    Ich schätz mal, dass ich irgendwaswas falsch geschrieben hab.
    Wenns hilft, hier mal die Datei in Notepad.

    http://www.file-upload.net/download-1617560/DownloadAlbumAfterSearch.txt.html

    Danke schonmal!

    Armin

    2 Mai 09 at 20:46

  6. Welche Lapicon-Version verwendest du denn? (Es kann sein, dass du zwar die neueste heruntergeladen hast, aber die “.lpc”-Dateiendung mit Version 1.0.5 – natürlich nur, wenn du die damals auch geholt hast – verknüpft ist. In diesem Fall müsstest du auf eine lpc-Datei rechtsklicken und über den Punkt “Öffnen mit” >> “Standardprogramm auswählen” die neue Lapicon.exe finden.)

    Yannick

    P.S.:
    Der Befehl “#version” wird erst in Lapicon 1.0.6 unterstützt und soll sicherstellen, dass die DarkSharpScripts auch nur mit einer Lapicon-Version gestartet werden, die alle benötigten Funktionen bietet.

    xsc

    2 Mai 09 at 21:19

  7. Hey
    danke.
    Die Idee ist mir (leider) auch schon gekommen und es wird auch mit der neuen exe geöffnet.

    ~
    armin

    Armin

    2 Mai 09 at 22:09

  8. Hmm… Es deutet so gesehen alles darauf hin, dass die falsche Version die Scripts verarbeitet. Lösche mal die “#version …”-Zeile aus der Config.DarkSharpScripts.lpc. Wenn dann weiterhin Meldungen kommen, die mit “Error: malformed Lapicon statement” beginnen, liegt es ziemlich eindeutig an der Version. (Beispielsweise werden if-Konstrukte erst seit kurzer Zeit unterstützt.)

    Yannick

    xsc

    2 Mai 09 at 22:27

  9. Hi
    danke für deinen Aufwand, aber bei mir scheint er nicht zu fruchten.
    Hab als erstes diese Versions Zeile rausgeschmissen..
    dann ist der Fehler immernoch Error: malformed Lapicon statement… bloß mit einem anderen Folgetext.
    Dann hab ich nochmal alles runtergeschmissen und neu geladen.. aber hat nichts gebracht. Soll wohl nicht sein.
    Aber auf jedenfall danke für deine Mühen.

    Armin

    2 Mai 09 at 23:26

  10. Du könntest mal versuchen, das Script auf die neue Lapicon.exe zu ziehen. Das wäre das letzte, was mir einfällt: wenns klappt, liegt das Problem bei der Dateizuordnung auf deinem System, wenn nicht, hab ich womöglich einen größeren Fehler eingearbeitet.

    Yannick

    xsc

    3 Mai 09 at 00:38

  11. Hey
    das mit dem Draufziehen hat funktionert.
    Vielen Dank also dafür!
    ~

    Armin

    3 Mai 09 at 09:28

  12. Ist es möglich mit lpc(file) eine Datei extern zu öffnen mit den entsprechenden Parametern, so dass sich ein 2tes Fenster öffnet, zwecks multidownloading, da normalerweise ja alle befehle nach einander ausgeführt werden.

    Frank

    4 Jun 09 at 22:50

  13. Cool, jemand, der Lapicon verwendet^^
    Bisher ist das nicht möglich, ich werde mir dazu etwas überlegen. (Läuft vermutlich auf ein Konstrukt “async(file)” hinaus.)

    Yannick

    xsc

    8 Jun 09 at 15:50

  14. Gibt es eigentlich eine Scriptsammlung, oder ist daran gedacht eine solche einzurichten?

    Herbert

    25 Jul 09 at 19:51

  15. Erst einmal werde ich (es sind ja bald Semesterferien…) die Sprache noch einmal unter die Lupe nehmen und verbessern, d.h. den Gebrauch intuitiver machen, die Performance steigern und neue Funktionen hinzufügen. (z.B. signierte/authentifizierte Anfragen an Last.FM)

    Aber dann, sollte sich herausstellen, dass Lapicon doch etwas ist, was auch andere verwenden, würde eine Scriptsammlung wohl Sinn machen.

    Was hast du denn bisher mit Lapicon gemacht?

    Yannick

    xsc

    25 Jul 09 at 20:00

  16. Ich arbeite mich gerade in Ruby ein, und plane eine Twitter-Anwendung. Falls mal ein Wiki oder so geplant ist, steuere ich meinen Code gerne bei, da ich eh alles unter die CC-Lizenz “Attribution-Share Alike 3.0 Unported” stelle.

    Herbert

    26 Jul 09 at 14:21

Leave a Reply