Commit graph

  • 8743a9d81c
    Moved prompt helpers into cli package Philipp Wolfer 2023-12-07 22:32:08 +01:00
  • c9fa21be73
    Dynamic per-backend configuration options Philipp Wolfer 2023-12-05 23:25:15 +01:00
  • ae5f1c5f26
    Basic TUI to add new service configuration Philipp Wolfer 2023-12-05 17:41:15 +01:00
  • ce5cdceb1f
    Initialize config if it does not exist, set database relative to config dir Philipp Wolfer 2023-12-05 16:31:52 +01:00
  • c101749faa
    Link to SourceHut project page Philipp Wolfer 2023-12-07 13:21:56 +01:00
  • ed4c0aa1f8
    jspf: add MB playlist extension, public field must be boolean Philipp Wolfer 2023-12-07 08:53:01 +01:00
  • 7a2fcc091e
    spotify: fixed loves export count Philipp Wolfer 2023-12-05 09:10:25 +01:00
  • 28ed1183e4
    Use fmt.Errorf, error strings should start lowercase Philipp Wolfer 2023-12-05 08:17:46 +01:00
  • a9e07915ce
    Transfer command refactoring Philipp Wolfer 2023-12-05 08:10:38 +01:00
  • 7c85ba05ab
    refactor: generic common cmd processing Philipp Wolfer 2023-12-04 08:03:32 +01:00
  • a87686af57
    Reduced code redundancy in import processing Philipp Wolfer 2023-12-03 16:56:32 +01:00
  • ca3b8492b0
    Unified export result types Philipp Wolfer 2023-12-03 16:56:12 +01:00
  • a4a05ea047
    subsonic: fixed filtering songs based on timestamp Philipp Wolfer 2023-12-01 11:48:23 +01:00
  • 8a1cd8ded7
    Combine all build artifacts in single archive Philipp Wolfer 2023-11-28 18:11:45 +01:00
  • b169dd2cc4
    auth: generate oauth2 state randomly Philipp Wolfer 2023-11-28 17:58:52 +01:00
  • 4bf0f2c81d
    listenbrainz: fetch listens in reverse listen time order Philipp Wolfer 2023-11-28 17:45:53 +01:00
  • cde9b28c28
    improved packaging Philipp Wolfer 2023-11-28 10:01:35 +01:00
  • d96df4367d
    Release 0.2.0 v0.2.0 Philipp Wolfer 2023-11-28 09:09:53 +01:00
  • f9d25e3b6f
    lastfm: listens export Philipp Wolfer 2023-11-28 08:55:53 +01:00
  • 267018901b
    lastfm: listens import Philipp Wolfer 2023-11-26 15:25:22 +01:00
  • 406e150987
    lastfm: loves import Philipp Wolfer 2023-11-26 12:56:27 +01:00
  • 1249238d3a
    lastfm: loves export Philipp Wolfer 2023-11-26 12:22:11 +01:00
  • 5b8f4788f9
    lastfm: authentication Philipp Wolfer 2023-11-23 23:14:47 +01:00
  • 3ccbb20a9e
    Fixed tracking import errors Philipp Wolfer 2023-11-26 12:44:48 +01:00
  • 0045a5096e
    listenbrainz: fixed listens pagination Philipp Wolfer 2023-11-26 15:25:56 +01:00
  • ca99a3d5fb
    jspf: consider love track MBID Philipp Wolfer 2023-11-26 12:22:25 +01:00
  • ed784643f7
    Removed workspace files Philipp Wolfer 2023-11-24 16:04:47 +01:00
  • 0828fa00fb
    Use goreleaser for packaging Philipp Wolfer 2023-11-24 14:49:02 +01:00
  • 5aed552854
    Moved tokensource to auth package Philipp Wolfer 2023-11-24 10:30:11 +01:00
  • 46e6a667c8
    Added constants for app name and version, use custom user-agent Philipp Wolfer 2023-11-24 08:58:31 +01:00
  • f6b4ea4a46
    README: Some preliminary installation instructions v0.1.0 Philipp Wolfer 2023-11-24 08:30:32 +01:00
  • 3ce0851f45
    Publish module redirect on https://go.uploadedlobster.com/scotty Philipp Wolfer 2023-11-24 08:10:50 +01:00
  • e1c9fb6076
    Move the JSPF playlist code into public module Philipp Wolfer 2023-11-24 01:22:45 +01:00
  • 0f5cb49b4c
    Refactored common rate limit code into separate module Philipp Wolfer 2023-11-24 00:22:36 +01:00
  • 857661ebf9
    Restructured code, moved all modules into internal Philipp Wolfer 2023-11-24 00:07:47 +01:00
  • f94e0f1e85
    Basic README Philipp Wolfer 2023-11-23 23:25:55 +01:00
  • fb285930c0
    Avoid double closing of export progress channel Philipp Wolfer 2023-11-23 22:45:31 +01:00
  • e8fdfb95a6
    ListenBrainz submit listens Philipp Wolfer 2023-11-23 22:20:40 +01:00
  • d55114ed3f
    Extended Spotify test Philipp Wolfer 2023-11-23 17:34:36 +01:00
  • 1a06168039
    Deezer export listens Philipp Wolfer 2023-11-23 17:34:11 +01:00
  • 3a364b6ae4
    Deezer authentication and loves export Philipp Wolfer 2023-11-23 15:30:43 +01:00
  • f447a259d4
    OAuth2Strategy interface to abstract the details of the login flow Philipp Wolfer 2023-11-23 14:41:31 +01:00
  • 780af98e1e
    Spotify: consider rate limit HTTP headers Philipp Wolfer 2023-11-23 10:49:40 +01:00
  • 68b2e649f0
    JSPF: Include full LB additional info in metadata Philipp Wolfer 2023-11-23 08:28:17 +01:00
  • 36cc41d05d
    Uppercase acronyms (ISRC / JSPF) Philipp Wolfer 2023-11-23 08:26:45 +01:00
  • 409acccebe
    JSPF: Listen import Philipp Wolfer 2023-11-22 18:11:21 +01:00
  • cac88f316b
    Reduced redundancy in model conversions and consistent naming Philipp Wolfer 2023-11-22 17:53:09 +01:00
  • e29d8e2a63
    Custom OAuth2 TokenSource to persist refreshed tokens in database Philipp Wolfer 2023-11-22 17:15:46 +01:00
  • 4a9f26d9db
    Improved progress report for Spotify loves Philipp Wolfer 2023-11-22 12:39:41 +01:00
  • 0e3061e837
    Support disc numbers Philipp Wolfer 2023-11-22 12:05:00 +01:00
  • d810fc9cac
    Ensure exporters finish the progress Philipp Wolfer 2023-11-22 11:55:31 +01:00
  • 2e6319d296
    Spotify: Loves export Philipp Wolfer 2023-11-22 11:52:28 +01:00
  • ed9debc127
    Spotify: Implemented API request and tests for user tracks Philipp Wolfer 2023-11-22 10:24:33 +01:00
  • d0739aad0f
    Use config from OAuth2Authenticator for auth command Philipp Wolfer 2023-11-22 08:41:18 +01:00
  • cf3747bde2
    Fixed oauth token refresh for source Philipp Wolfer 2023-11-22 08:21:43 +01:00
  • 117014a977
    Change project license to GPLv3 Philipp Wolfer 2023-11-22 08:05:23 +01:00
  • 08876a2d70
    Fixed import count updates Philipp Wolfer 2023-11-21 19:05:06 +01:00
  • 56eae67292
    scrobblerlog: implemented append mode Philipp Wolfer 2023-11-21 18:39:15 +01:00
  • 1af484e0f6
    Fixed storing last import timestamp Philipp Wolfer 2023-11-21 18:14:11 +01:00
  • fa7732c538
    Autenticate OAuth backends Philipp Wolfer 2023-11-21 17:51:13 +01:00
  • 94704f9cd0
    WIP: Authenticate Philipp Wolfer 2023-11-21 08:51:47 +01:00
  • 3d3685d8bc
    Initial implementation for Spotify listens export Philipp Wolfer 2023-11-20 08:43:10 +01:00
  • 3ded679d80
    Maloja, ListenBrainz: Complete progress on error Philipp Wolfer 2023-11-21 08:50:35 +01:00
  • 74f2a3cef7
    Use port 2369 as standard port for OAuth callbacks Philipp Wolfer 2023-11-20 10:36:13 +01:00
  • c13c9175e3
    Renamed ImportBackend methods to StartImport / FinishImport Philipp Wolfer 2023-11-20 07:43:54 +01:00
  • 14d944c7ad
    Basic "scotty auth" implementation Philipp Wolfer 2023-11-19 23:52:13 +01:00
  • 8b227cb514
    Better naming, distingiush between "service" and "backend" Philipp Wolfer 2023-11-19 22:54:42 +01:00
  • 6e330daf06
    Implemented progressbar for export/import Philipp Wolfer 2023-11-16 00:45:00 +01:00
  • ab04eb1123
    Updated all import/export interfaces Philipp Wolfer 2023-11-15 19:24:12 +01:00
  • 729a3d0ed0
    Add ImportResult.UpdateTimestamp method Philipp Wolfer 2023-11-15 18:37:36 +01:00
  • 298697dcfc
    Run exporter in goroutine Philipp Wolfer 2023-11-15 18:16:00 +01:00
  • 1ba165a631
    Ignore Lapce editor files and configure go workspace Philipp Wolfer 2023-11-16 13:23:06 +01:00
  • 3a76ec7988
    Added basic documentation of backend interfaces Philipp Wolfer 2023-11-15 10:06:35 +01:00
  • bae81d9b08
    If import fails report the last timestamp Philipp Wolfer 2023-11-15 09:20:52 +01:00
  • 4e9f50b6b6
    More resilient HTTP requests Philipp Wolfer 2023-11-15 08:40:55 +01:00
  • 240351dc3e
    Example config file Philipp Wolfer 2023-11-15 07:56:30 +01:00
  • 36f8f3e311
    Use nested map for service configs Philipp Wolfer 2023-11-15 07:35:28 +01:00
  • c8146355c1
    Database support to store the last processed timestamp Philipp Wolfer 2023-11-14 16:32:21 +01:00
  • 503449c43d
    Removed unused CLI flag added by default implementation Philipp Wolfer 2023-11-14 15:14:54 +01:00
  • 5a85987476
    Maloja listens import Philipp Wolfer 2023-11-14 08:41:53 +01:00
  • ca745038e3
    Simplified backend names Philipp Wolfer 2023-11-14 07:49:43 +01:00
  • 1f2d5f662d
    JSPF loves export Philipp Wolfer 2023-11-14 00:39:17 +01:00
  • dcb5e9c2c6
    Models for marshalling JSPF playlists Philipp Wolfer 2023-11-13 23:47:52 +01:00
  • 27685d617a
    Implemented "beam --timestamp {n}" Philipp Wolfer 2023-11-13 19:11:19 +01:00
  • 4d18a207ee
    ListenBrainz: Support import of loves without recording MBID Philipp Wolfer 2023-11-13 18:49:20 +01:00
  • 1b5ea241b6
    ListenBrainz: Harmonized code Philipp Wolfer 2023-11-13 18:20:16 +01:00
  • bef482fd68
    Funkwhale: Handle rate limit headers Philipp Wolfer 2023-11-13 18:20:01 +01:00
  • 9b5a087974
    ListenBrainz: Skip importing existing loves Philipp Wolfer 2023-11-13 18:11:18 +01:00
  • 6dd67aedcb
    Dump: Print recording ID Philipp Wolfer 2023-11-13 11:43:51 +01:00
  • aa453e4dc2
    ListenBrainz: Fix love import and rate limit check Philipp Wolfer 2023-11-13 11:42:09 +01:00
  • 161ada7aff
    ListenBrainz: Handle rate limit Philipp Wolfer 2023-11-13 09:48:16 +01:00
  • ebcec46d7a
    ListenBrainz: Fixed loves pagination Philipp Wolfer 2023-11-13 09:47:27 +01:00
  • 719ef5b84b
    Minor simplification of test cases Philipp Wolfer 2023-11-13 09:23:35 +01:00
  • 0020594ea3
    ListenBrainz: Love export and basic import Philipp Wolfer 2023-11-13 09:21:22 +01:00
  • ead323eaed
    Import result can report total and processed items Philipp Wolfer 2023-11-12 18:40:45 +01:00
  • 516de905bd
    Renamed interfaces ListenImport|Export to ListensImport|Export Philipp Wolfer 2023-11-12 18:33:44 +01:00
  • baed52dacc
    Implemented subsonic loves import Philipp Wolfer 2023-11-12 18:27:50 +01:00
  • c4ae2eda48
    Simple tests for Backend.FromConfig implementations Philipp Wolfer 2023-11-12 17:51:15 +01:00
  • aa01ae1342
    Unified code for backend clients and tests Philipp Wolfer 2023-11-12 16:28:23 +01:00
  • 9316838d59
    Funkwhale: Implemented LovesExport Philipp Wolfer 2023-11-12 15:57:18 +01:00