media_from_asin returns no duration data. get_album_tracks now does one search_raw call using the album name + primary artist from stream tags, filters hits by albumAsin == requested asin, and builds a duration_map (track asin → duration_ms). Search failures are swallowed — duration_ms falls back to 0 so the existing behaviour is preserved on error. 2 new tests: duration populated when search returns matching hit; duration stays 0 when search endpoint returns an error. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_amazon_client.py | ||
| test_amazon_download_client.py | ||
| test_t2tunes_probe.py | ||