summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2014-11-27 15:09:42 +0100
committerBastien Nocera <hadess@hadess.net>2015-08-25 18:20:15 +0200
commit3ae4ffd882de07b2e8640b82e326632e53c2937d (patch)
tree657e2886ede8424c91e919db67aff30a548eb73e
parentb4cf71a18de08825006ed7e7c3b8545e736b1839 (diff)
downloadgrilo-plugins-3ae4ffd882de07b2e8640b82e326632e53c2937d.tar.gz
metadata-store: Update for last-played type change
https://bugzilla.gnome.org/show_bug.cgi?id=686175
-rw-r--r--src/metadata-store/grl-metadata-store.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/metadata-store/grl-metadata-store.c b/src/metadata-store/grl-metadata-store.c
index 7304c21..cdc760f 100644
--- a/src/metadata-store/grl-metadata-store.c
+++ b/src/metadata-store/grl-metadata-store.c
@@ -315,8 +315,16 @@ fill_metadata_from_stmt (GrlMedia *media, GList *keys, sqlite3_stmt *stmt)
rating = sqlite3_column_double (stmt, STORE_RATING);
grl_media_set_rating (media, rating, 5.00);
} else if (key == GRL_METADATA_KEY_LAST_PLAYED) {
+ GDateTime *date;
last_played = (gchar *) sqlite3_column_text (stmt, STORE_LAST_PLAYED);
- grl_media_set_last_played (media, last_played);
+ date = grl_date_time_from_iso8601 (last_played);
+ if (date) {
+ grl_media_set_last_played (media, date);
+ g_date_time_unref (date);
+ } else {
+ GRL_WARNING ("Unable to set 'last-played', as '%s' date is invalid",
+ last_played);
+ }
} else if (key == GRL_METADATA_KEY_LAST_POSITION) {
last_position = sqlite3_column_int (stmt, STORE_LAST_POSITION);
grl_media_set_last_position (media, last_position);
@@ -395,7 +403,6 @@ bind_and_exec (sqlite3 *db,
GrlMedia *media)
{
gint r;
- const gchar *char_value;
gint int_value;
double double_value;
GList *iter_names, *iter_keys;
@@ -433,8 +440,14 @@ bind_and_exec (sqlite3 *db,
int_value = grl_media_get_last_position (media);
sqlite3_bind_int (stmt, count, int_value);
} else if (key == GRL_METADATA_KEY_LAST_PLAYED) {
- char_value = grl_media_get_last_played (media);
- sqlite3_bind_text (stmt, count, char_value, -1, SQLITE_STATIC);
+ GDateTime *date;
+ char *date_str;
+ date = grl_media_get_last_played (media);
+ if (date) {
+ date_str = g_date_time_format (date, "%F %T");
+ sqlite3_bind_text (stmt, count, date_str, -1, SQLITE_STATIC);
+ g_free (date_str);
+ }
} else if (key == GRL_METADATA_KEY_FAVOURITE) {
int_value = (gint) grl_media_get_favourite (media);
sqlite3_bind_int (stmt, count, int_value);