Http request / musicbrainz decoding fixes

This commit is contained in:
DataHoarder 2022-03-13 17:45:42 +01:00
parent 18f3056eaa
commit b47b8b1d11
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
8 changed files with 29 additions and 4 deletions

View file

@ -32,7 +32,7 @@ func SearchMetadata(disc *DiscHandlerResult, fuzzy bool) (albums []*metadata.Alb
}
}
}
if cddb1Source, ok := source.(metadata.CDDB1Source); (fuzzy || len(foundAlbums) == 0) && ok {
if cddb1Source, ok := source.(metadata.CDDB1Source); fuzzy && ok {
foundAlbums = cddb1Source.FindByCDDB1(disc.TOC.GetCDDB1())
if fuzzy || len(foundAlbums) == 0 {
for _, id := range disc.Identifiers.GetKind("cddb1") {

View file

@ -51,7 +51,13 @@ func (s *Source) FindMetadataByTOC(toc metadata.TOC) (results []AccurateRipMetad
Method: "GET",
URL: uri,
}, time.Hour*24*14)
if err != nil || response.StatusCode != http.StatusOK {
if err != nil {
return nil
}
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
return nil
}

View file

@ -177,6 +177,7 @@ func (s *BadgerCacheStore) Get(request *http.Request) (response *http.Response,
}
func (s *BadgerCacheStore) Set(request *http.Request, response *http.Response) (*http.Response, error) {
defer response.Body.Close()
key := getRequestKey(request)
byteValue := encodeResponse(response)
if len(byteValue) == 0 {

View file

@ -80,6 +80,7 @@ func (s *Source) FindByTocID(tocId metadata.TocID) (albums []*metadata.Album) {
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil
@ -241,6 +242,7 @@ func (s *Source) FindMetadataByTOC(toc metadata.TOC) *CueToolsMetadata {
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil

View file

@ -73,6 +73,7 @@ func (s *Source) QueryCDDB(toc metadata.TOC, cddb metadata.CDDB1) (results []*me
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil
@ -108,6 +109,7 @@ func (s *Source) QueryCDDB(toc metadata.TOC, cddb metadata.CDDB1) (results []*me
if err != nil {
continue
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
continue
@ -207,6 +209,7 @@ func (s *Source) FindQueryArguments(queryArgs string, loose bool) (albums []*met
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil
@ -253,6 +256,7 @@ func (s *Source) GetSongLyrics(lyricsName string) (result []*metadata.TextLyrics
if err != nil {
return nil
}
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
return nil
@ -312,6 +316,7 @@ func (s *Source) GetAlbumInformation(id int) *metadata.Album {
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil

View file

@ -137,8 +137,8 @@ type tagEntry struct {
Name string `json:"name"`
}
type ratingEntry struct {
VotesCount int `json:"votes-count"`
Value int `json:"value"`
VotesCount int `json:"votes-count"`
Value *float64 `json:"value"`
}
type workEntry struct {
Id string `json:"id"`
@ -361,6 +361,7 @@ func (s *Source) GetRelease(releaseId string) *metadata.Album {
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil

View file

@ -147,6 +147,7 @@ func (s *Source) FindQueryArguments(queryArgs string) (albums []*metadata.Album)
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil
@ -201,6 +202,7 @@ func (s *Source) FindAdvancedQueryArguments(queryArgs string) (albums []*metadat
if err != nil {
return nil
}
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
return nil
@ -235,6 +237,7 @@ func (s *Source) FindAdvancedQueryArguments(queryArgs string) (albums []*metadat
if err != nil {
return nil
}
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
return nil
@ -288,6 +291,7 @@ func (s *Source) GetArticle(title string) ([]interface{}, error) {
if err != nil {
return nil, err
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil, err
@ -314,6 +318,7 @@ func (s *Source) GetFileURL(title string) string {
if err != nil {
return ""
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return ""
@ -355,6 +360,7 @@ func (s *Source) GetSongLyrics(songName string) *metadata.LRCLyrics {
if err != nil {
return nil
}
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
return nil

View file

@ -61,6 +61,7 @@ func (s *Source) FindByTOC(toc metadata.TOC) (results []*metadata.Album) {
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil
@ -96,6 +97,7 @@ func (s *Source) FindByTOC(toc metadata.TOC) (results []*metadata.Album) {
if err != nil {
continue
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
continue
@ -204,6 +206,7 @@ func (s *Source) FindQueryArguments(queryArgs string) (albums []*metadata.Album)
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil
@ -265,6 +268,7 @@ func (s *Source) GetAlbumInformation(id int) *metadata.Album {
if err != nil {
return nil
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil