Bånder

AlbumSearchService
in package

Table of Contents

Properties

$discogsClient  : DiscogsClient
$logger  : LoggerInterface
$matchingStrategy  : MatchingStrategy
$musicBrainzClient  : MusicBrainzClient
$qualityValidator  : QualityValidator

Methods

__construct()  : mixed
searchAllSources()  : array<string|int, mixed>
Search all sources for album metadata with fallback strategy
searchDiscogs()  : array<string|int, mixed>|null
Search Discogs for album with improved error handling
searchFuzzy()  : array<string|int, mixed>
Search for album with fuzzy matching - returns structured results
searchMusicBrainz()  : array<string|int, mixed>|null
Search MusicBrainz for album
canMakeDiscogsRequest()  : bool
canMakeMusicBrainzRequest()  : bool
convertDiscogsReleaseToArray()  : array<string|int, mixed>
Convert Discogs release object to array format expected by MatchingStrategy
convertMusicBrainzReleaseToArray()  : array<string|int, mixed>
Convert MusicBrainz release object to array format expected by MatchingStrategy
debugMusicBrainzHealth()  : array<string|int, mixed>
Debug MusicBrainz client health
generateAlbumTitleVariations()  : array<string|int, mixed>
Generate album title variations for fuzzy matching
getDiscogsDetailedDataWithRetry()  : Release|null
Get Discogs detailed data with retry logic
getMusicBrainzDetailedDataWithRetry()  : Release|null
Get MusicBrainz detailed data with retry logic
isVariousArtistsAlbum()  : bool
Check if album is a "Various Artists" compilation
recordDiscogsFailure()  : void
recordMusicBrainzFailure()  : void

Properties

Methods

searchAllSources()

Search all sources for album metadata with fallback strategy

public searchAllSources(Album $album) : array<string|int, mixed>
Parameters
$album : Album
Return values
array<string|int, mixed>

searchDiscogs()

Search Discogs for album with improved error handling

public searchDiscogs(Album $album) : array<string|int, mixed>|null
Parameters
$album : Album
Return values
array<string|int, mixed>|null

searchFuzzy()

Search for album with fuzzy matching - returns structured results

public searchFuzzy(Album $album) : array<string|int, mixed>
Parameters
$album : Album
Return values
array<string|int, mixed>

searchMusicBrainz()

Search MusicBrainz for album

public searchMusicBrainz(Album $album) : array<string|int, mixed>|null
Parameters
$album : Album
Return values
array<string|int, mixed>|null

canMakeDiscogsRequest()

private canMakeDiscogsRequest() : bool
Return values
bool

canMakeMusicBrainzRequest()

private canMakeMusicBrainzRequest() : bool
Return values
bool

convertDiscogsReleaseToArray()

Convert Discogs release object to array format expected by MatchingStrategy

private convertDiscogsReleaseToArray(Release $release) : array<string|int, mixed>
Parameters
$release : Release
Return values
array<string|int, mixed>

convertMusicBrainzReleaseToArray()

Convert MusicBrainz release object to array format expected by MatchingStrategy

private convertMusicBrainzReleaseToArray(Release $release) : array<string|int, mixed>
Parameters
$release : Release
Return values
array<string|int, mixed>

debugMusicBrainzHealth()

Debug MusicBrainz client health

private debugMusicBrainzHealth() : array<string|int, mixed>
Return values
array<string|int, mixed>

generateAlbumTitleVariations()

Generate album title variations for fuzzy matching

private generateAlbumTitleVariations(string $title) : array<string|int, mixed>
Parameters
$title : string
Return values
array<string|int, mixed>

getDiscogsDetailedDataWithRetry()

Get Discogs detailed data with retry logic

private getDiscogsDetailedDataWithRetry(string $releaseId, int $albumId[, int $maxRetries = 2 ]) : Release|null
Parameters
$releaseId : string
$albumId : int
$maxRetries : int = 2
Return values
Release|null

getMusicBrainzDetailedDataWithRetry()

Get MusicBrainz detailed data with retry logic

private getMusicBrainzDetailedDataWithRetry(string $releaseId, int $albumId) : Release|null
Parameters
$releaseId : string
$albumId : int
Return values
Release|null

isVariousArtistsAlbum()

Check if album is a "Various Artists" compilation

private isVariousArtistsAlbum(Album $album) : bool
Parameters
$album : Album
Return values
bool

        
On this page

Search results