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