Package: wnpp Severity: wishlist X-Debbugs-Cc: debian-python@lists.debian.org
* Package name : sacad Version : 2.7.5 Upstream Contact: https://github.com/desbma * URL : https://github.com/desbma/sacad/ * License : MPL-2 Programming Lang: Python Description : Smart Automatic Cover Art Downloader SACAD is a multi platform command line tool to download album covers without manual intervention, ideal for integration in scripts, audio players, etc. SACAD also provides a second command line tool, sacad_r, to scan a music library, read metadata from audio tags, and download missing covers automatically, optionally embedding the image into audio audio files. Features * Can target specific image size, and find results for high resolution covers * Support JPEG and PNG formats * Customizable output: save image along with the audio files / in a different directory named by artist/album / embed cover in audio files... * Currently support the following cover sources: * Amazon CD (.com, .ca, .cn, .fr, .de, .co.jp and .co.uk variants) * Amazon digital music * CoverLib (site is dead) * Deezer * Discogs * Google Images (removed, too unreliable) * Last.fm * Itunes * Smart sorting algorithm to select THE best cover for a given query, using several factors: source reliability, image format, image size, image similarity with reference cover, etc. * Automatically crunch images with optipng, oxipng or jpegoptim (can save 30% of filesize without any loss of quality, great for portable players) * Cache search results locally for faster future search * Do everything to avoid getting blocked by the sources: hide user-agent and automatically take care of rate limiting * Automatically convert/resize image if needed * Multiplatform (Windows/Mac/Linux) SACAD is designed to be robust and be executed in batch of thousands of queries: * HTML parsing is done without regex but with the LXML library, which is faster, and more robust to page changes * When the size of an image reported by a source is not reliable (ie. Google Images), automatically download the first KB of the file to get its real size from the file header * Process several queries simultaneously (using asyncio), to speed up processing * Automatically reuse TCP connections (HTTP Keep-Alive), for better network performance * Automatically retry failed HTTP requests * Music library scan supports all common audio formats (MP3, AAC, Vorbis, FLAC..) * Cover sources page or API changes are quickly detected, thanks to high test coverage, and SACAD is quickly updated accordingly ---- There are no tools, as far as I know, to do this in Debian. A friend used this to great effect to cleanup their local music library, while in the meantime I did this by hand to much lesser effect...