[gnome-music/wip/jfelder/tracker3: 8/21] grltrackerwrapper: Port artist albums query to new Tracker/Grilo expectatives
- From: Jean Felder <jfelder src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/jfelder/tracker3: 8/21] grltrackerwrapper: Port artist albums query to new Tracker/Grilo expectatives
- Date: Mon, 24 Aug 2020 11:24:11 +0000 (UTC)
commit 28a8984b21eca704f39d478ad3e7651e31cb31dc
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun May 31 15:34:31 2020 +0200
grltrackerwrapper: Port artist albums query to new Tracker/Grilo expectatives
For Tracker 3, the miner service must be queried specifically, and it is better
to specify here that we are querying from the tracker:Audio graph.
For Grilo, the variable names are slightly different, and IDs are now URNs, not
tracker:id()s.
gnomemusic/grilowrappers/grltrackerwrapper.py | 41 ++++++++++++++++-----------
1 file changed, 25 insertions(+), 16 deletions(-)
---
diff --git a/gnomemusic/grilowrappers/grltrackerwrapper.py b/gnomemusic/grilowrappers/grltrackerwrapper.py
index ba3f7a07..0c600465 100644
--- a/gnomemusic/grilowrappers/grltrackerwrapper.py
+++ b/gnomemusic/grilowrappers/grltrackerwrapper.py
@@ -600,25 +600,34 @@ class GrlTrackerWrapper(GObject.GObject):
artist_id = media.get_id()
query = """
- SELECT DISTINCT
- rdf:type(?album)
- tracker:id(?album) AS ?id
- nie:title(?album) AS ?title
- nie:contentCreated(?song) AS ?date
+ SELECT
+ ?type ?id ?title ?creationDate
WHERE {
- ?album a nmm:MusicAlbum .
- OPTIONAL { ?album nmm:albumArtist ?album_artist . }
- ?song a nmm:MusicPiece;
- nmm:musicAlbum ?album;
- nmm:performer ?artist .
- FILTER ( tracker:id(?album_artist) = %(artist_id)s
- || tracker:id(?artist) = %(artist_id)s )
- %(location_filter)s
+ SERVICE <dbus:org.freedesktop.Tracker3.Miner.Files> {
+ GRAPH tracker:Audio {
+ SELECT DISTINCT
+ %(media_type)s AS ?type
+ ?album AS ?id
+ nie:title(?album) AS ?title
+ nie:contentCreated(?song) AS ?creationDate
+ WHERE {
+ ?album a nmm:MusicAlbum .
+ OPTIONAL { ?album nmm:albumArtist ?album_artist . }
+ ?song a nmm:MusicPiece;
+ nmm:musicAlbum ?album;
+ nmm:artist ?artist .
+ FILTER ( ?album_artist = <%(artist_id)s>
+ || ?artist = <%(artist_id)s> )
+ %(location_filter)s
+ }
+ GROUP BY ?album
+ ORDER BY ?creationDate ?album
+ }
+ }
}
- GROUP BY ?album
- ORDER BY ?date ?album
""".replace('\n', ' ').strip() % {
- 'artist_id': int(artist_id),
+ "media_type": int(Grl.MediaType.CONTAINER),
+ "artist_id": artist_id,
'location_filter': self._tracker_wrapper.location_filter()
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]