Giter Site home page Giter Site logo

unrec / lastfm-tracks-dumper Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 168 KB

Executable application to fetch .csv data with tracks for specific Last.fm user. Stack: Gradle, Kotlin, Jackson, okhttp3

Kotlin 100.00%
jackson-json kotlin okhttp3 jackson-csv gradle lastfm

lastfm-tracks-dumper's Introduction

lastfm-tracks-dumper

lastfm_csv

The application obtains listened (aka scrobbled) tracks for a specific Last.fm user and save it to a .csv file. The application allows to download all scrobbled tracks or duplicated as well.

Usage

Run the application .jar file and provide next parameters:

  • required username (--user)
  • API token, see here (--token)
  • download strategy (--starategy, optional):
    • default - get all scrobbled tracks
    • only-duplicates - get duplicated tracks without the 1st one (can be used for deduplication of the library)
    • without-duplicates - get only duplicated tracks (each duplicated track of the scrobbling history will be shown once)
java -jar lastfm-tracks-dumper.jar --user %user% --token %token% --strategy default

Duplicates

Due to scrobbling issues duplicated tracks can appear in the library 2 or more times. The application determine duplicates with two rules:

  1. Duplicated tracks go in sequential order.
  2. Difference in the scrobbled time is less than 10 sec.

duplicates

Depending on the strategy there will be different output result:

  • only-duplicates - track Human will appear 2 times, track Be Mine 1 time.
  • without-duplicates - each duplicated track will appear just once.

Exported .csv data

Generated .csv has tab as separator as some names can contain ; symbol in it.

Currently only date, artist, track and album values are saved to .csv.

Additional fields page, pageLink and index were added for easy navigation in the library.

ID's for track/artist/album are not saved due to this Last.fm issue.

lastfm-tracks-dumper's People

Contributors

unrec avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.