hpv-tvdb

Node.js Client für die thetvdb.com-Api. Der Client liefert die (deutschen) Daten als JSON

TheTvDB-Client

Client (für den Eigenbedarf entwickelt), der deutsche Informationen von thetvdb.com bezieht und diese in Form von JSON bereitstellt. Der Client stellt Methoden für den Zugriff auf die thetvdb.com-Api bereit. Für die Verwendung wird ein API-Key von thetvdb.com benötigt.

npm install hpv-tvdb

Das Modul verwendet request für die Aufrufe der tvdb-Api und xml2js für die Konvertierung der XML-Dateien

var tvdbc = require('hpv-tvdb'),
    client = new tvdbc.TvDbClient(%apikey),
    callback = function(err, result) {
        console.log(result);
    };
client.getSeriesByTitle('Bones', callback); 
// SerienId entnehmen
client.getSeasonsBySeriesId('75682', callback);

%apikey = von thetvdb.com bereitgestellter API-Key

Alle Aufrufe verlangen eine callback-Funktion in der Form function(error, result)

Aufruf

getSeriesByTitle(%titel, callback)

Result

Array von Serieninfo-Objekten

SerienInfo-Objekt

[ 
   {
        name: Serienname,
        alias: Alias-Name,
        imageurl: URL zum Banner,
        id: Serien-ID,
        language: Sprache,
        overview: Serienübersicht,
        imdbid: ID auf imdb.com
     }      
]

Aufruf

getSeasonsBySeriesId(%Serien-Id, callback)

Result

Ein Serienobjekt mit allen Staffeln und Episoden. Enthält alle nötigen Daten ausser den Staffelbildern.

Serien-Objekt

    {
        series: {
            name: Serienname,
            id:  Serien-Id,
            overview: Übersicht,
            actors: [Array von Schuspielernamen],
            genre: [Array von Genres],
            rating: Einstufung,
            network: TV-Sender,
            language: Sprache,
            firstaired: Erstaustrahlung
        },
        seasons: {
            '%Staffelnummer': {
                seasonid: ID der Staffel,
                seasonnumber: Staffelnummer,
                episodes: [
                    {
                        name: Titel der Episode,
                        number: Nummer der Folge,
                        id: ID der Episode,
                        overview: Inhalt der Episode,
                        directors: [Array von Regiseuren],
                        writers: [Array von Drehbuchautoren],   
                        firstaired: Erstausstrahlungsdatum,
                        imageurl: URL zum Episodenbild, 
                        gueststars: [Array von Gaststars],
                        language: Sprache der Episode (de)
                    }
                ]
            }
        }
    }                   

%Staffelnummer = '1', '2,' ...

Aufruf

getBannersBySeriesId(%Serien-Id, callback)

Result

Ein Objekt strukturiert nach Bildarten (bannertype)

{
    '%Bildart' : [{
        url: Url zum Bild, 
        language: Sprache
    }]‚
}          

Mögliche Bildarten sind:

  • fanart
  • poster
  • season
  • series

Aufruf

getActorsBySeriesId(%Serien-Id, callback)

Result

Array von Bildobjekten

Bildobjekt

[
    {
        name: Schauspielername,
        role: Rollenname,
        id: Schauspieler-Id,
        imageurl: Url zum Bild des Schauspielers
    }
]        

Aufruf

getImageAndSave(url, filename, callback)

Übergeben werden die URL des Bildes (evtl. aus getBannersBySeriesId), der gewünschte Dateiname und der obligatorische callback

Der Client verfügt noch über weitere Funktionen, die aber hauptsächlich intern verwendet werden. Bei Interesse einfach in die Source schauen.