Skip to content

Music feed extension : implement lxml tree approach #563

Description

@petitminion

hi,

I've been trying to expand the rss protocol to allow sharing music metadata. The missing features where multiples artists and nested objects support (albums), more details here https://dev.funkwhale.audio/funkwhale/funkwhale/-/issues/2428.

My conclusion was to use musicbrainz mmd : https://github.com/metabrainz/mmd-schema/blob/master/schema/musicbrainz_mmd-2.0.rng which allows to build very complex nested metadata. But feedparser do not know about it.

Example :

                    <mmd:release-list>
                        <mmd:release>
                            <mmd:title>loilol</mmd:title>
                            <mmd:tag-list>
                                <mmd:tag>
                                    <mmd:name>Espagne</mmd:name>
                                </mmd:tag>
                            </mmd:tag-list>
                        </mmd:release>
                    </mmd:release-list>

I tried to implement a mmd namespace but the sax event approach makes it very hard to build the custom functions for the mmd namespace (the difficulties lies in accessing the parent object, get context inside a single event).

So maybe we could add a lxml parser, that is triggered if we found the mmd namespace in the feed ?

the flow would be : StrictFeedParser or LooseFeedParser return a parsed feed -> Lxml parser concatenate complex nested object inside the feed entries.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions