Metadata extraction and online enrichment.
class MetadataEnricher:
def __init__(self, config: Config)
def enrich_music(self, arquivo: Path) -> MusicMetadata
def enrich_book(self, arquivo: Path) -> BookMetadata
def enrich_comic(self, arquivo: Path) -> ComicMetadata
- Title, Artist, Album
- Genre, Year, Track number
- Duration, Bitrate
- Album art
Online Enrichment
| Provider |
Data |
| MusicBrainz |
Release IDs, artist IDs, genres |
| Last.fm |
Genre tags, similarity data |
| Spotify |
(via Subsonic) |
Enrichment Flow
- Extract local metadata
- Search MusicBrainz for recording
- Get release info
- Merge genres
- Enrich with Last.fm tags
- Title, Author
- ISBN, Publisher
- Page count, Language
Online Enrichment
| Provider |
Data |
| OpenLibrary |
ISBN lookup, cover URLs |
| Google Books |
Description, categories |
- Parsed from filename schema
- Title, Year, Issue number
- Series, Publisher
{Title} ({Year}) - {Series} #{Issue}.ext