New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

lastfmexportstream

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lastfmexportstream

A readable object stream of a Last.fm user's scrobble history

latest
Source
npmnpm
Version
0.0.4
Version published
Maintainers
1
Created
Source

Last.fm Export Stream

A readable object stream of a Last.fm user's scrobble history.

Installation

npm install lastfmexportstream --save

Options

  • apiKey: (required) The Last.fm API key. If you don't have one, get one from Last.fm.
  • user: (required) The Last.fm username.
  • reverse: (optional, default: false) By default, scrobbles are fetched in chronological order, i.e. oldest scrobble first. If reverse: true the scrobbles will be fetched in reverse order, i.e. latest scrobble first.
  • from: (optional) A UTC unix timestamp in milliseconds representing the date of the earliest scrobble you want. If this option is not present the stream will start from the first scrobble.
  • to: (optional) A UTC unix timestamp in milliseconds representing the date of the latest scrobble you want. If this option is not present the stream will end with the latest scrobble.
  • tracksPerRequest: (optional, default: 100, max: 200) The number of tracks to be fetched per request.
  • requestsPerMinute: (optional, default: 60) The maximum number of Last.fm API requests per second.
  • errorDelay: (optional, default: 10000) The number of milliseconds to wait until the next request if an error occurs.

Check progress

Use the .totalTracks and .trackCount properties to check the progress of the stream.

progress = ((stream.trackCount / stream.totalTracks) * 100) + '%';

Track format

  • time: A UTC unix timestamp in milliseconds. Represents the time of the scrobble.
  • *MBID: The MusicBrainz ID of the track, artist or album respectively, if available.

The rest is rather self explanatory.

{ time: 1401571793000,
  artist: 'The Dramatics',
  title: 'Inky Dinky Wang Dang Doo',
  album: 'The Golden Torch Revisited',
  trackMBID: '2c769602-4dfe-458d-b5e6-b0895d120830',
  artistMBID: '1af3791d-816f-4e36-b475-e40d29d1c25b',
  albumMBID: '' }

Example

var through = require('through2');
var LastfmExportStream = require('lastfmexportstream');

var soma7soul = new LastfmExportStream({
  apiKey: 'YOUR_LASTFM_API_KEY',
  user: 'soma7soul'
});

soma7soul
  .pipe(through.obj(function (track, enc, callback) {
    console.log(track);
    callback();
  }));

Keywords

lastfm

FAQs

Package last updated on 01 Jun 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts