rygel r369 - trunk/src/plugins/tracker



Author: zeeshanak
Date: Thu Dec 25 11:59:47 2008
New Revision: 369
URL: http://svn.gnome.org/viewvc/rygel?rev=369&view=rev

Log:
Define and use enums for metadata array indices.

Modified:
   trunk/src/plugins/tracker/rygel-tracker-image-item.vala
   trunk/src/plugins/tracker/rygel-tracker-music-item.vala
   trunk/src/plugins/tracker/rygel-tracker-video-item.vala

Modified: trunk/src/plugins/tracker/rygel-tracker-image-item.vala
==============================================================================
--- trunk/src/plugins/tracker/rygel-tracker-image-item.vala	(original)
+++ trunk/src/plugins/tracker/rygel-tracker-image-item.vala	Thu Dec 25 11:59:47 2008
@@ -31,6 +31,20 @@
  * Represents Tracker image item.
  */
 public class Rygel.TrackerImageItem : TrackerItem {
+    private enum Metadata {
+        FILE_NAME,
+        MIME,
+        SIZE,
+        TITLE,
+        CREATOR,
+        WIDTH,
+        HEIGHT,
+        ALBUM,
+        IMAGE_DATE,
+        DATE,
+        LAST_KEY
+    }
+
     public TrackerImageItem (string              id,
                              string              path,
                              TrackerContainer    parent) throws GLib.Error {
@@ -38,16 +52,17 @@
     }
 
     public override void fetch_metadata () throws GLib.Error {
-        string[] keys = new string[] {"File:Name",
-                                      "File:Mime",
-                                      "File:Size",
-                                      "Image:Title",
-                                      "Image:Creator",
-                                      "Image:Width",
-                                      "Image:Height",
-                                      "Image:Album",
-                                      "Image:Date",
-                                      "DC:Date"};
+        string[] keys = new string[Metadata.LAST_KEY];
+        keys[Metadata.FILE_NAME] = "File:Name";
+        keys[Metadata.MIME] = "File:Mime";
+        keys[Metadata.SIZE] = "File:Size";
+        keys[Metadata.TITLE] = "Video:Title";
+        keys[Metadata.CREATOR] = "Image:Creator";
+        keys[Metadata.WIDTH] = "Image:Width";
+        keys[Metadata.HEIGHT] = "Image:Height";
+        keys[Metadata.ALBUM] = "Image:Album";
+        keys[Metadata.IMAGE_DATE] = "Image:Date";
+        keys[Metadata.DATE] = "DC:Date";
         string[] values = null;
 
         /* TODO: make this async */
@@ -61,35 +76,35 @@
             return;
         }
 
-        if (values[3] != "")
-            this.title = values[3];
+        if (values[Metadata.TITLE] != "")
+            this.title = values[Metadata.TITLE];
         else
             /* If title wasn't provided, use filename instead */
-            this.title = values[0];
+            this.title = values[Metadata.FILE_NAME];
 
-        if (values[2] != "")
-            this.res.size = values[2].to_int ();
+        if (values[Metadata.SIZE] != "")
+            this.res.size = values[Metadata.SIZE].to_int ();
 
-        if (values[5] != "")
-            this.res.width = values[5].to_int ();
+        if (values[Metadata.WIDTH] != "")
+            this.res.width = values[Metadata.WIDTH].to_int ();
 
-        if (values[6] != "")
-            this.res.height = values[6].to_int ();
+        if (values[Metadata.HEIGHT] != "")
+            this.res.height = values[Metadata.HEIGHT].to_int ();
 
-        if (values[2] != "")
-            this.res.size = values[2].to_int ();
+        if (values[Metadata.SIZE] != "")
+            this.res.size = values[Metadata.SIZE].to_int ();
 
-        if (values[9] != "") {
-            this.date = seconds_to_iso8601 (values[9]);
+        if (values[Metadata.DATE] != "") {
+            this.date = seconds_to_iso8601 (values[Metadata.DATE]);
         } else {
-            this.date = seconds_to_iso8601 (values[8]);
+            this.date = seconds_to_iso8601 (values[Metadata.IMAGE_DATE]);
         }
 
         // FIXME: (Leaky) Hack to assign the string to weak fields
-        string *mime = #values[1];
+        string *mime = #values[Metadata.MIME];
         this.res.mime_type = mime;
-        this.author = values[4];
-        this.album = values[7];
+        this.author = values[Metadata.CREATOR];
+        this.album = values[Metadata.ALBUM];
         string *uri = this.uri_from_path (path);
         this.res.uri = uri;
     }

Modified: trunk/src/plugins/tracker/rygel-tracker-music-item.vala
==============================================================================
--- trunk/src/plugins/tracker/rygel-tracker-music-item.vala	(original)
+++ trunk/src/plugins/tracker/rygel-tracker-music-item.vala	Thu Dec 25 11:59:47 2008
@@ -31,6 +31,20 @@
  * Represents Tracker music item.
  */
 public class Rygel.TrackerMusicItem : TrackerItem {
+    private enum Metadata {
+        FILE_NAME,
+        MIME,
+        SIZE,
+        TITLE,
+        ARTIST,
+        TRACK_NUM,
+        ALBUM,
+        RELEASE,
+        DATE_ADDED,
+        DATE,
+        LAST_KEY
+    }
+
     public TrackerMusicItem (string              id,
                              string              path,
                              TrackerContainer    parent) throws GLib.Error {
@@ -38,16 +52,17 @@
     }
 
     public override void fetch_metadata () throws GLib.Error {
-        string[] keys = new string[] {"File:Name",
-                                      "File:Mime",
-                                      "File:Size",
-                                      "Audio:Title",
-                                      "Audio:Artist",
-                                      "Audio:TrackNo",
-                                      "Audio:Album",
-                                      "Audio:ReleaseDate",
-                                      "Audio:DateAdded",
-                                      "DC:Date"};
+        string[] keys = new string[Metadata.LAST_KEY];
+        keys[Metadata.FILE_NAME] = "File:Name";
+        keys[Metadata.MIME] = "File:Mime";
+        keys[Metadata.SIZE] = "File:Size";
+        keys[Metadata.TITLE] = "Video:Title";
+        keys[Metadata.ARTIST] = "Audio:Artist";
+        keys[Metadata.TRACK_NUM] = "Audio:TrackNo";
+        keys[Metadata.ALBUM] = "Audio:Album";
+        keys[Metadata.RELEASE] = "Audio:ReleaseDate";
+        keys[Metadata.DATE_ADDED] = "Audio:DateAdded";
+        keys[Metadata.DATE] = "DC:Date";
         string[] values = null;
 
         /* TODO: make this async */
@@ -61,31 +76,31 @@
             return;
         }
 
-        if (values[3] != "")
-            this.title = values[3];
+        if (values[Metadata.TITLE] != "")
+            this.title = values[Metadata.TITLE];
         else
             /* If title wasn't provided, use filename instead */
-            this.title = values[0];
+            this.title = values[Metadata.FILE_NAME];
 
-        if (values[2] != "")
-            this.res.size = values[2].to_int ();
+        if (values[Metadata.SIZE] != "")
+            this.res.size = values[Metadata.SIZE].to_int ();
 
-        if (values[5] != "")
-            this.track_number = values[5].to_int ();
+        if (values[Metadata.TRACK_NUM] != "")
+            this.track_number = values[Metadata.TRACK_NUM].to_int ();
 
-        if (values[9] != "") {
-            this.date = seconds_to_iso8601 (values[9]);
-        } else if (values[7] != "") {
-            this.date = seconds_to_iso8601 (values[7]);
+        if (values[Metadata.DATE] != "") {
+            this.date = seconds_to_iso8601 (values[Metadata.DATE]);
+        } else if (values[Metadata.RELEASE] != "") {
+            this.date = seconds_to_iso8601 (values[Metadata.RELEASE]);
         } else {
-            this.date = seconds_to_iso8601 (values[8]);
+            this.date = seconds_to_iso8601 (values[Metadata.DATE_ADDED]);
         }
 
         // FIXME: (Leaky) Hack to assign the string to weak fields
-        string *mime = #values[1];
+        string *mime = #values[Metadata.MIME];
         this.res.mime_type = mime;
-        this.author = values[4];
-        this.album = values[6];
+        this.author = values[Metadata.ARTIST];
+        this.album = values[Metadata.ALBUM];
         string *uri = this.uri_from_path (path);
         this.res.uri = uri;
     }

Modified: trunk/src/plugins/tracker/rygel-tracker-video-item.vala
==============================================================================
--- trunk/src/plugins/tracker/rygel-tracker-video-item.vala	(original)
+++ trunk/src/plugins/tracker/rygel-tracker-video-item.vala	Thu Dec 25 11:59:47 2008
@@ -31,6 +31,18 @@
  * Represents Tracker video item.
  */
 public class Rygel.TrackerVideoItem : TrackerItem {
+    private enum Metadata {
+        FILE_NAME,
+        MIME,
+        SIZE,
+        TITLE,
+        AUTHOR,
+        WIDTH,
+        HEIGHT,
+        DATE,
+        LAST_KEY
+    }
+
     public TrackerVideoItem (string              id,
                              string              path,
                              TrackerContainer    parent) throws GLib.Error {
@@ -38,14 +50,15 @@
     }
 
     public override void fetch_metadata () throws GLib.Error {
-        string[] keys = new string[] {"File:Name",
-                                      "File:Mime",
-                                      "File:Size",
-                                      "Video:Title",
-                                      "Video:Author",
-                                      "Video:Width",
-                                      "Video:Height",
-                                      "DC:Date"};
+        string[] keys = new string[Metadata.LAST_KEY];
+        keys[Metadata.FILE_NAME] = "File:Name";
+        keys[Metadata.MIME] = "File:Mime";
+        keys[Metadata.SIZE] = "File:Size";
+        keys[Metadata.TITLE] = "Video:Title";
+        keys[Metadata.AUTHOR] = "Video:Author";
+        keys[Metadata.WIDTH] = "Video:Width";
+        keys[Metadata.HEIGHT] = "Video:Height";
+        keys[Metadata.DATE] = "DC:Date";
         string[] values = null;
 
         /* TODO: make this async */
@@ -59,26 +72,26 @@
             return;
         }
 
-        if (values[3] != "")
-            this.title = values[3];
+        if (values[Metadata.TITLE] != "")
+            this.title = values[Metadata.TITLE];
         else
             /* If title wasn't provided, use filename instead */
-            this.title = values[0];
+            this.title = values[Metadata.FILE_NAME];
 
-        if (values[2] != "")
-            this.res.size = values[2].to_int ();
+        if (values[Metadata.SIZE] != "")
+            this.res.size = values[Metadata.SIZE].to_int ();
 
-        if (values[5] != "")
-            this.res.width = values[5].to_int ();
+        if (values[Metadata.WIDTH] != "")
+            this.res.width = values[Metadata.WIDTH].to_int ();
 
-        if (values[6] != "")
-            this.res.height = values[6].to_int ();
+        if (values[Metadata.HEIGHT] != "")
+            this.res.height = values[Metadata.HEIGHT].to_int ();
 
-        this.date = this.seconds_to_iso8601 (values[7]);
+        this.date = this.seconds_to_iso8601 (values[Metadata.DATE]);
         // FIXME: (Leaky) Hack to assign the string to weak fields
-        string *mime = #values[1];
+        string *mime = #values[Metadata.MIME];
         this.res.mime_type = mime;
-        this.author = values[4];
+        this.author = values[Metadata.AUTHOR];
         string *uri = this.uri_from_path (path);
         this.res.uri = uri;
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]