18 Commits
Author SHA1 Message Date
luciano 88e59ad37f traxsource: fetch_top100 con session curl_cffi + retry + cache 15min 2026-08-01 12:01:00 +02:00
luciano 784b56682f traxsource: _discover_top100_url + _parse_tracks con BeautifulSoup 2026-08-01 11:59:55 +02:00
luciano e1e629f8a2 traxsource: helper _split_title_mix + _format_artists + _large_cover + eccezioni 2026-08-01 11:57:42 +02:00
luciano a95912f78c traxsource: GENRES + TraxsourceTrack + list_genres 2026-08-01 11:55:30 +02:00
luciano 7feda99720 traxsource: fixture HTML + bs4 dep + script refresh generi 2026-08-01 11:54:55 +02:00
luciano 5fc9f8ac2b converter: modulo ffmpeg WAV -> MP3 con VBR/CBR + stop 2026-07-21 17:44:36 +02:00
luciano 0f7cd24703 tagger: modulo mutagen per ID3 tag + cover art da URL 2026-07-15 12:54:26 +02:00
luciano 0949df031a youtube: search_youtube via yt-dlp ytsearchN + parse JSON 2026-07-14 17:18:54 +02:00
luciano 2771fa8075 spotify: search_artist_discography con dedupe top-tracks+album 2026-07-14 17:16:19 +02:00
luciano 252d76b907 spotify: search_tracks() free-form con limit configurabile 2026-07-14 17:14:02 +02:00
luciano cc5716e87d spotify: aggiunto search_track() per feature Beatport 2026-07-14 16:26:25 +02:00
luciano 3f31e240be beatport: fetch_top100 con curl_cffi + retry + cache 15min 2026-07-14 16:24:43 +02:00
luciano 13c8e60712 beatport: parse JSON → list[BeatportTrack] 2026-07-14 16:22:21 +02:00
luciano f1e57905c1 beatport: estrazione __NEXT_DATA__ + eccezioni tipizzate 2026-07-14 16:20:21 +02:00
luciano 4221a5992b beatport: BeatportTrack dataclass con display + spotify_query 2026-07-14 16:18:38 +02:00
luciano 70cdfe8983 beatport: GENRES + list_genres() con test 2026-07-14 16:17:09 +02:00
luciano e1aaa83fe9 beatport: fixture HTML + curl_cffi + script refresh generi 2026-07-14 16:14:55 +02:00
luciano c037da4901 test: setup pytest infra per feature Beatport 2026-07-14 16:03:33 +02:00