Commit Graph
77 Commits
Author SHA1 Message Date
Uyanide 92860f0d30 test: clarify known limitations in the only xfail case 2026-04-07 14:54:36 +02:00
Uyanide 0c85af534e refactor: large scale refactor regarding selection & fetchers 2026-04-06 22:30:55 +02:00
Uyanide 69b7f5c60c chore: switch to src layout 2026-04-06 10:29:03 +02:00
Uyanide c5abbff14c chore: enhance comments 2026-04-06 08:40:59 +02:00
Uyanide 2d70231502 refactor: move some impl-specific constants out from config.py 2026-04-06 08:13:00 +02:00
Uyanide 9b04160783 refactor: lazy load credentials for testing 2026-04-06 08:13:00 +02:00
Uyanide a8335d9920 test: remove tests that require credentials 2026-04-06 08:13:00 +02:00
Uyanide 8fabb0de86 fix: handle inconsistent response format of mxm 2026-04-05 19:59:46 +02:00
Uyanide 262d385b00 chore: 0.5.3 2026-04-05 11:53:55 +02:00
Uyanide 65327eb431 fix: remove inflated confidence for unsynced results (impacts: sp, mxm-sp, local, lrclib, manual) 2026-04-05 11:52:53 +02:00
Uyanide 0d56cde927 test: add basic tests for cache-search & network fetchers
test: enable debug
test: add pytest.ini to mark tests that require network
fix: cache-search should not aquire full match of artists due to different translations
fix: replace dynamic f-string SQL in track WHERE clauses with parameterized nullable conditions
refactor: lrc.py should never directly call print, return a str instead
chore: add requirements.txt (via 'uv export')
chore: update README.md with dev instructions
2026-04-05 11:35:04 +02:00
Uyanide 84a3e1076e fix: missing await 2026-04-05 06:28:51 +02:00
Uyanide 449952c6c1 feat: auth: add auth module 2026-04-05 04:12:49 +02:00
Uyanide 1ed51fdbdb feat: enricher: +1 2026-04-05 02:25:33 +02:00
Uyanide d8c3813e39 refactor: move out some constants from config.py 2026-04-05 02:25:33 +02:00
Uyanide 9d6c2e2113 feat: add musixmatch as fetcher 2026-04-04 16:02:19 +02:00
Uyanide 38dc845abe feat: cache stats now prints total row 2026-04-04 09:52:02 +02:00
Uyanide 1c7456c588 perf: parallelize lrclib search queries 2026-04-04 09:05:51 +02:00
Uyanide 303eeaa661 chore: add disclaimer 2026-04-04 08:40:09 +02:00
Uyanide e3f12c1756 feat: fetcher: try multiple candidates rather just the best one 2026-04-04 08:29:20 +02:00
Uyanide aa13940aa7 fix: adjust fetcher groups, sequentially fetch from sp and lrclib 2026-04-03 22:15:16 +02:00
Uyanide 4c5aba04b0 refactor: async parallel fetching 2026-04-03 22:09:59 +02:00
Uyanide c91d5220bd refactor: skip a enricher if fields it can provide are already filled 2026-04-03 22:09:59 +02:00
Uyanide 3917d68880 fix: no one uses artist/album/track.ext layout 2026-04-03 22:09:58 +02:00
Uyanide 9a200aa58d feat: add hard duration filter to avoid fake positive matches 2026-04-03 16:38:46 +02:00
Uyanide 871ae2d589 fix: confidence should not be 100 for irrelevant cases 2026-04-03 15:46:13 +02:00
Uyanide c44797fbf9 feat: able to set confidence for certain source via cli 2026-04-02 20:29:17 +02:00
Uyanide 6baa487565 test: remove 1 test for _raw_tag_to_ms since its already covered by
tests for to_plain
2026-04-02 11:57:23 +02:00
Uyanide e382783f52 feat: export to a .txt file instead of .lrc when --plain 2026-04-02 11:15:29 +02:00
Uyanide 6791e9e965 feat: better cache stats 2026-04-02 10:52:48 +02:00
Uyanide d18d8afb37 refactor: confidence should always have a value 2026-04-02 10:47:17 +02:00
Uyanide 66682e8b45 fix: only record spotify's trackid, ignore local ones 2026-04-02 10:47:17 +02:00
Uyanide 4d31a971a1 fix: --plain now sorts lyrics to handle multi-tag lrc correctly 2026-04-02 10:07:36 +02:00
Uyanide 2df167e31d feat: evaluate fetch results with "confidence" 2026-04-02 09:44:20 +02:00
Uyanide 9aaf4d8aed feat: lrclib-search fetcher now do multiple request to cover more cases
refactor: abstract selection logic & test dafür
2026-04-02 09:44:20 +02:00
Uyanide 5a44f2ba34 fix: --no-cache now also skips cache writing 2026-04-02 03:56:04 +02:00
Uyanide 8001c3f7e8 refactor: add LRCData class 2026-04-02 03:56:04 +02:00
Uyanide 83c9553309 fix: --plain should trim leading and trailing blank lines & v0.2.0 2026-04-01 21:05:55 +02:00
Uyanide 8af43ed112 test: add test for cache db 2026-04-01 21:05:54 +02:00
Uyanide 0b830e176d feat: better lrc handling 2026-04-01 20:33:23 +02:00
Uyanide cd60d3042c feat: print plain lyrics without tags 2026-04-01 20:33:23 +02:00
Uyanide 5930f70bf2 chore: edit gitignore 2026-04-01 20:33:23 +02:00
Uyanide 13eb317e5b refactor: only import DB_PATH once 2026-04-01 20:33:23 +02:00
Uyanide 7959a2efb9 feat: able to specify db path 2026-04-01 10:21:14 +02:00
Uyanide 88cf0115af finish renaming 2026-03-31 22:46:55 +02:00
Uyanide 4d48e21533 delete old files 2026-03-31 22:46:55 +02:00
Uyanide ae1dd7481d rename to lrx
resolve conflicts
2026-03-31 22:46:55 +02:00
Uyanide 4c18efa10c refactor: remove dep pydantic 2026-03-31 18:36:44 +02:00
Uyanide 8f44a0da35 feat: add insert subcommand to cache command 2026-03-31 18:08:40 +02:00
Uyanide a1681c2551 chore: 0.1.7 2026-03-31 18:08:40 +02:00
Uyanide d3090ceb1c refactor: add is_available method to fetchers 2026-03-31 18:08:40 +02:00
Uyanide 03acda4478 feat: better LRC format handling 2026-03-31 16:47:26 +02:00
Uyanide 29273ad9fe feat: include appversion in UA 2026-03-31 15:13:58 +02:00
Uyanide 3af6cee7e3 fix: sp 2026-03-31 15:13:58 +02:00
Uyanide cc706c3117 refactor: remove unnecessary list of fetcher methods 2026-03-31 06:45:57 +02:00
Uyanide 4e83e6be15 feat: add metadata enrichers & refactor 2026-03-31 06:42:30 +02:00
Uyanide d76b25e250 feat: 'search' command no longer requires 'title' param 2026-03-31 06:42:29 +02:00
Uyanide cf7651ae84 fix: request param and header of sp fetcher 2026-03-31 04:17:24 +02:00
Uyanide 2337ff3472 feat: add player preference configuration and improve MPRIS player selection logic 2026-03-31 03:14:01 +02:00
Uyanide e482fb1a82 feat: export lyrics default to sidecar path 2026-03-31 03:14:01 +02:00
Uyanide 4f6244bc9e chore: bump version to 0.1.3 2026-03-31 02:15:39 +02:00
Uyanide a0f988d0d8 feat: add qqmusic fetcher 2026-03-31 02:05:06 +02:00
Uyanide d51a3eda1d feat: replace typer with cycplots & improve cli 2026-03-30 18:48:42 +02:00
Uyanide f49d305f0e update .gitignore 2026-03-30 01:06:54 +02:00
Uyanide 1a04e46b48 feat: enhance fuzzy matching and add artist normalization in cache.py 2026-03-28 07:35:29 +01:00
Uyanide 6ccd90ba6a feat: add exact metadata match for cache search in CacheSearchFetcher 2026-03-28 06:54:30 +01:00
Uyanide d2b4134c96 feat: implement cache-search fetcher for cross-album fuzzy lookup 2026-03-28 06:21:31 +01:00
Uyanide 8ba9daf968 🚨 lint 2026-03-27 12:52:45 +01:00
Uyanide 23b2d5ae20 fix: URL decoding in local fetcher 2026-03-26 02:32:45 +01:00
Uyanide ec40fbcf13 feat: add offset handling for LRC time tags 2026-03-25 21:55:36 +01:00
Uyanide 075853ad5b fix: normalize time tags in fetched lrc (why [00:17:06]?) 2026-03-25 11:16:03 +01:00
Uyanide e7ba59bfbb feat: persist spo token 2026-03-25 10:53:01 +01:00
Uyanide 7067e33c20 feat: successfully synced lyrics should never expire 2026-03-25 10:24:56 +01:00
Uyanide 55978723a9 chore: add LICENSE 2026-03-25 06:03:06 +01:00
Uyanide 42bcb8b5ba chore: remove .vscode 2026-03-25 05:59:47 +01:00
Uyanide b327dc2bb2 chore: add README 2026-03-25 05:58:54 +01:00
Uyanide 0b9b617380 init 2026-03-25 05:58:37 +01:00