[rygel] tracker: Clean-up alternative property keys
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] tracker: Clean-up alternative property keys
- Date: Tue, 13 Mar 2012 16:00:45 +0000 (UTC)
commit 691b63777cf122863f7b7b43ea4c732c04c57dec
Author: Jens Georg <mail jensge org>
Date: Sat Dec 17 14:06:25 2011 +0100
tracker: Clean-up alternative property keys
.../tracker/rygel-tracker-key-chain-map.vala | 27 +++++++++++++++----
1 files changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/src/plugins/tracker/rygel-tracker-key-chain-map.vala b/src/plugins/tracker/rygel-tracker-key-chain-map.vala
index 4b829d2..ba24066 100644
--- a/src/plugins/tracker/rygel-tracker-key-chain-map.vala
+++ b/src/plugins/tracker/rygel-tracker-key-chain-map.vala
@@ -52,12 +52,10 @@ public class Rygel.Tracker.KeyChainMap : Object {
add_key_chain ("dc:title", "nie:title");
add_key_chain ("dlnaProfile", "nmm:dlnaProfile");
add_key_chain ("mimeType", "nie:mimeType");
- add_function ("res size",
- "tracker:coalesce(nfo:fileSize(%1$s)," +
- "nie:byteSize(%1$s),\"\")");
- add_function ("date",
- "tracker:coalesce(nie:contentCreated(%1$s)," +
- "nfo:fileLastModified(%1$s))");
+ this.add_alternative ("res size", "nfo:fileSize", "nie:byteSize");
+ this.add_alternative ("date",
+ "nie:contentCreated",
+ "nfo:fileLastModified");
// Music Item
add_key_chain ("res duration", "nfo:duration");
@@ -108,5 +106,22 @@ public class Rygel.Tracker.KeyChainMap : Object {
private void add_function (string property, string function) {
this.functions[property] = function;
}
+
+ private void add_alternative (string property, ...) {
+ var list = va_list ();
+
+ var str = new StringBuilder ("tracker:coalesce(");
+
+ string alternative = list.arg ();
+ while (alternative != null) {
+ str.append_printf ("%s(%%1$s),", alternative);
+ alternative = list.arg ();
+ }
+
+ str.truncate (str.len - 1);
+ str.append (")");
+
+ this.add_function (property, str.str);
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]