2025-09-09 19:49:49 +02:00
|
|
|
package pmodidl
|
2025-09-07 07:59:26 +02:00
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/xml"
|
|
|
|
|
"fmt"
|
2025-09-09 19:49:49 +02:00
|
|
|
|
|
|
|
|
"gargoton.petite-maison-orange.fr/eric/pmomusic/pmocover"
|
2025-09-07 07:59:26 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func Parse(metadata string) (*DIDLLite, error) {
|
|
|
|
|
var didl DIDLLite
|
|
|
|
|
err := xml.Unmarshal([]byte(metadata), &didl)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, fmt.Errorf("failed to parse DIDL-Lite: %v", err)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-09 19:49:49 +02:00
|
|
|
cache, err := pmocover.GetCoverCache()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return &didl, fmt.Errorf("failed to get cover cache: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
didl.CacheAllCoverArts(cache)
|
|
|
|
|
|
2025-09-07 07:59:26 +02:00
|
|
|
return &didl, nil
|
|
|
|
|
}
|