Thanks Raphaël,

I've fixed my code to use 'id' with the 'get' attribute.

-Graham

On 31 July 2015 at 23:27, Raphaël Bois Rousseau <virtuald...@gmail.com> wrote:
>
>> Hi,
>>
>> This commit appears to break my client:
>> http://git.xmms2.org/xmms2/xmms2-devel/commit/?id=bbbe4bef56979446145
>> c67c1d561aa3dc5332773
>>
>> Specifically, attempting to fetch the "id" data field with coll_query
>> no longer returns the "song_id" field as it previously did. Without
>> the id I don't know how to jump to this song in my playlist, play it,
>> etc.
>>
>> -Graham
>>
>> --
>
> Hi,
>
> Take a look at https://xmms2.org/wiki/Collections_2.0#Querying for the
> correct way to use coll_query(). The 'id' is not actually a field: it's
> a key representing an entry in the medialib. The 'song_id' field was
> never meant to be exposed. You need to request the id explicitly by
> using the 'get' attribute in your metadata spec. If you don't care
> about the order of the result, you can use this (python syntax):
>
> xmms.coll_query(coll, dict(
>     type='metadata',
>     get=('id', 'field', 'value')
>     ))
>
> which will return a dict of entries where keys are the songs ids and
> the value is a dict of field=>value.
>
> If you do care about the order, you can use something like this:
>
> xmms.coll_query(coll, {
>     'type': 'cluster-list',
>     'cluster-by': 'position',
>     'data': {
>         'type': 'metadata',
>         'get': ('id', 'field', 'value')
>         }
>     })
>
> You'll get a list in the form:
> [{'42': { 'artist': '...', 'album': '...', ...}},
>  {'1337': { ... }},
>  ...
>  ]
>
>
> In the hope this helps.
>
> Regards,
> Raphaël.

--
_______________________________________________
Xmms2-devel mailing list
Xmms2-devel@lists.xmms2.org
http://lists.xmms2.org/cgi-bin/mailman/listinfo/xmms2-devel

Reply via email to