Commit Graph

63 Commits

Author SHA1 Message Date
0029a9ec19 . 2025-10-07 12:07:45 -04:00
a442972571 radio: refactor LRC fetching to directly use asyncio for backgrounding, and add null check for album art in RadioUtil 2025-09-30 10:01:57 -04:00
0bd2b6b4f3 Refactor LRC fetching logic to use BackgroundTasks directly and encapsulate in a new async method 2025-09-27 09:28:47 -04:00
061aed296f Enhance LRC and SR duration matching logic by increasing tolerance from 5 seconds to 10 seconds + improve LRC websocket broadcasting logic 2025-09-27 09:17:24 -04:00
00614326a4 Clear LRC cache on track change and improve LRC fetching logic 2025-09-26 13:45:39 -04:00
47089cc7cb Add LRC caching mechanism to optimize fetching and broadcasting of lyrics 2025-09-26 12:36:20 -04:00
e08e25a3b8 Remove file path information from track data in WebSocket responses (low/no-risk) 2025-09-26 12:30:23 -04:00
66d13ad6e7 Enhance LRC fetching logic by adding source tracking and improving type hints for artist, title, and duration 2025-09-26 11:49:25 -04:00
65e0d3ae7a Implement WebSocket support for real-time radio updates and enhance LRC fetching logic 2025-09-26 11:36:13 -04:00
9b32a8f984 Refactor radio endpoint requests to remove API key requirement and implement user role checks for permissions 2025-09-24 16:30:54 -04:00
19afb287cd docstrings / formatting 2025-09-23 13:17:34 -04:00
c2044711fb - Changed API key validation from if not _key in self.constants.API_KEYS to if _key not in self.constants.API_KEYS for better readability.
Enhance RadioUtil playlist handling and deduplication

- Added checks to ensure playlists are initialized and not empty.
- Improved deduplication logic to prevent modifying the original playlist during iteration.
- Added logging for duplicate removal and playlist population.

Add cover art handling in rip_background.py

- Implemented functionality to attach album art if provided in metadata.
- Added error handling for cover art download failures.

Introduce unique filename handling in rip_background.py

- Added `ensure_unique_filename_in_dir` function to prevent overwriting files with the same name.

Refactor SRUtil for improved error handling and metadata fetching

- Introduced `MetadataFetchError` for better error management during metadata retrieval.
- Implemented `_safe_api_call` for resilient API calls with retry logic.
- Enhanced `get_artists_by_name` to optionally group results by artist name.
- Updated various methods to utilize the new error handling and retry mechanisms.
2025-09-22 11:08:48 -04:00
a8d089c0fe minor 2025-08-21 15:35:10 -04:00
9e9748076b misc / tRIP - beginnings/work in progress 2025-08-07 11:47:57 -04:00
8603b11438 playlists have been stored to redis for faster retrieval; additional work needed (playlist management, typeahead, etc- to move away from SQLite) 2025-07-20 15:50:25 -04:00
c42ebbfe53 same/prior; method call missing data.station, added 2025-07-20 08:03:31 -04:00
3fc4dd4072 bugfix: forgot to add data.station to datatables_search call, only the main station's queue was searched 2025-07-19 22:21:09 -04:00
9ce16ba923 rewrite pending; for now, additional support for multi-station 2025-07-19 21:57:21 -04:00
85182b7d8c WIP: additional radio stations 2025-07-17 06:55:16 -04:00
a1f82036ff misc 2025-07-15 11:39:12 -04:00
c3f753a4f0 add basic rate limiting 2025-07-01 11:38:38 -04:00
1991e5b31b small improvements re: #33 2025-07-01 10:34:03 -04:00
8f3d4bf181 revert radio queue behavior 2025-06-09 07:15:57 -04:00
4cdd6d0c99 misc/migration related 2025-06-08 08:53:18 -04:00
68408c4796 share 2025-05-27 16:48:28 -04:00
e07a9dd7d2 minor 2025-05-21 07:28:42 -04:00
ad43db289a remove karma endpoints from schema + add webhook notification for debugging (failed lyrics searches, non-LRC) 2025-05-01 06:32:28 -04:00
8848d3a493 bugfix: datatables search for radio queue was returning incorrect queue positions for items once a filter/query was provided (numbering/index was based on the filtered resultset) 2025-04-27 08:27:08 -04:00
0b70d93d47 misc 2025-04-26 21:27:55 -04:00
58ba471b5e misc 2025-04-26 19:47:12 -04:00
6c29c6fede reformat / resolves #32 2025-04-26 17:17:42 -04:00
4c5d2b6943 swap threading for multiprocessing's ThreadPool (radio playlist load), aiosqlite -> sqlite3 standard lib as disk i/o is blocking regardless; changes related to #32 for radio queue pagination, more work needed 2025-04-26 12:01:45 -04:00
6502199b5d reformat 2025-04-22 16:24:58 -04:00
b9bdf31944 load playlist in separate thread to prevent blocking on startup 2025-04-22 16:24:00 -04:00
1a4c44e33b restore album art functionality, cleanup needed 2025-04-22 09:18:15 -04:00
6c88c23a4d radio_util: open tracks SQLite DB in readonly mode; black: reformat files 2025-04-17 07:28:05 -04:00
96add377df clean TODO comment//already done 2025-04-12 10:07:22 -04:00
ca883b2974 typeahead/various 2025-04-08 20:15:32 -04:00
c9d0edf77d add fields to returned queue dict (radio_get_queue) 2025-03-13 11:15:52 -04:00
f29837280a cleanup/minor 2025-03-04 08:11:55 -05:00
119f40daf8 cleanup/rm 2025-02-18 14:37:37 -05:00
e3b66624ab bugfix randmsg/minor 2025-02-16 14:04:59 -05:00
3567e750fa radio typeahead 2025-02-16 13:54:28 -05:00
b24176b12f cleanup/rm pylint ignores 2025-02-16 08:50:53 -05:00
f47ea0665f pydantic docstrings 2025-02-16 08:17:27 -05:00
fe5ab8b2be misc 2025-02-16 07:56:33 -05:00
39d1ddaffa cleanup 2025-02-15 21:09:33 -05:00
60416c493f cleanup 2025-02-14 16:07:24 -05:00
09dd9db970 docstrings 2025-02-12 09:42:07 -05:00
9f615ad0d9 cleanup/refactor 2025-02-12 07:53:22 -05:00