[libgdata] Revert "core: Re-add ISO 8601 formatting workaround for dates"
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgdata] Revert "core: Re-add ISO 8601 formatting workaround for dates"
- Date: Wed, 15 Mar 2017 00:14:54 +0000 (UTC)
commit 684f95e8845be4f9efc434ea6456bee99b2303ac
Author: Philip Withnall <philip tecnocode co uk>
Date: Tue Mar 14 23:34:55 2017 +0000
Revert "core: Re-add ISO 8601 formatting workaround for dates"
This reverts commit bfbd4f5ca493f17fe2300e54092a4ec27f65ea08.
Google have fixed their servers and now reject the workaround timestamp
format.
Unfortunately, because nothing is ever easy, this breaks Google Tasks.
Obviously something else is wrong there.
https://bugzilla.gnome.org/show_bug.cgi?id=780067
gdata/gdata-parser.c | 20 +-------------------
gdata/tests/calendar.c | 14 +++++++-------
gdata/tests/general.c | 34 +++++++++++++++++-----------------
gdata/tests/tasks.c | 38 +++++++++++++++++++-------------------
4 files changed, 44 insertions(+), 62 deletions(-)
---
diff --git a/gdata/gdata-parser.c b/gdata/gdata-parser.c
index 74871c7..a43c2ec 100644
--- a/gdata/gdata-parser.c
+++ b/gdata/gdata-parser.c
@@ -241,29 +241,11 @@ gchar *
gdata_parser_int64_to_iso8601 (gint64 _time)
{
GTimeVal time_val;
- gchar *iso8601;
- gchar **date_time_components;
- gchar *retval;
time_val.tv_sec = _time;
time_val.tv_usec = 0;
- iso8601 = g_time_val_to_iso8601 (&time_val);
-
- /* FIXME: Work around for Google's incorrect ISO 8601 implementation.
- * They appear to not like dates in the format ‘2014-08-09T21:07:05Z’
- * which specify a timezone using ‘Z’ and no microseconds.
- *
- * See: https://bugzilla.gnome.org/show_bug.cgi?id=732809
- * https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3595
- * http://stackoverflow.com/a/17630320/2931197 */
- date_time_components = g_strsplit (iso8601, "Z", 2);
- retval = g_strjoinv (".000001+00:00", date_time_components);
- g_strfreev (date_time_components);
-
- g_free (iso8601);
-
- return retval;
+ return g_time_val_to_iso8601 (&time_val);
}
gboolean
diff --git a/gdata/tests/calendar.c b/gdata/tests/calendar.c
index 442374d..4d70d1b 100644
--- a/gdata/tests/calendar.c
+++ b/gdata/tests/calendar.c
@@ -619,11 +619,11 @@ test_event_json (void)
"'guestsCanSeeOtherGuests': false,"
"'anyoneCanAddSelf': false,"
"'start': {"
- "'dateTime': '2009-04-17T15:00:00.000001+00:00',"
+ "'dateTime': '2009-04-17T15:00:00Z',"
"'timeZone': 'UTC'"
"},"
"'end': {"
- "'dateTime': '2009-04-17T17:00:00.000001+00:00',"
+ "'dateTime': '2009-04-17T17:00:00Z',"
"'timeZone': 'UTC'"
"},"
"'attendees': ["
@@ -758,11 +758,11 @@ test_event_json_dates (void)
"}", TRUE, 1239926400, 1239926400 + 86400, NULL },
/* Full date and time. */
{ "'start': {"
- "'dateTime': '2009-04-17T15:00:00.000001+00:00',"
+ "'dateTime': '2009-04-17T15:00:00Z',"
"'timeZone': 'UTC'"
"},"
"'end': {"
- "'dateTime': '2009-04-17T16:00:00.000001+00:00',"
+ "'dateTime': '2009-04-17T16:00:00Z',"
"'timeZone': 'UTC'"
"}", FALSE, 1239926400 + 54000, 1239926400 + 54000 + 3600, NULL },
/* Start and end time. */
@@ -1152,21 +1152,21 @@ G_GNUC_END_IGNORE_DEPRECATIONS
/* Check the built query URI with a normal feed URI */
query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com");
g_assert_cmpstr (query_uri, ==, "http://example.com?q=q&orderBy=startTime&singleEvents=true"
-
"&timeMin=2009-04-17T15:00:00.000001+00:00&timeMax=2010-04-17T15:00:00.000001+00:00&timeZone=America%2FLos_Angeles&maxAttendees=15"
+
"&timeMin=2009-04-17T15:00:00Z&timeMax=2010-04-17T15:00:00Z&timeZone=America%2FLos_Angeles&maxAttendees=15"
"&showDeleted=true");
g_free (query_uri);
/* …with a feed URI with a trailing slash */
query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com/");
g_assert_cmpstr (query_uri, ==, "http://example.com/?q=q&orderBy=startTime&singleEvents=true"
-
"&timeMin=2009-04-17T15:00:00.000001+00:00&timeMax=2010-04-17T15:00:00.000001+00:00&timeZone=America%2FLos_Angeles&maxAttendees=15"
+
"&timeMin=2009-04-17T15:00:00Z&timeMax=2010-04-17T15:00:00Z&timeZone=America%2FLos_Angeles&maxAttendees=15"
"&showDeleted=true");
g_free (query_uri);
/* …with a feed URI with pre-existing arguments */
query_uri = gdata_query_get_query_uri (GDATA_QUERY (query),
"http://example.com/bar/?test=test&this=that");
g_assert_cmpstr (query_uri, ==, "http://example.com/bar/?test=test&this=that&q=q&orderBy=startTime"
-
"&singleEvents=true&timeMin=2009-04-17T15:00:00.000001+00:00&timeMax=2010-04-17T15:00:00.000001+00:00"
+
"&singleEvents=true&timeMin=2009-04-17T15:00:00Z&timeMax=2010-04-17T15:00:00Z"
"&timeZone=America%2FLos_Angeles&maxAttendees=15&showDeleted=true");
g_free (query_uri);
diff --git a/gdata/tests/general.c b/gdata/tests/general.c
index 75232de..da531fe 100644
--- a/gdata/tests/general.c
+++ b/gdata/tests/general.c
@@ -528,8 +528,8 @@ test_entry_parse_xml (void)
"<?xml version='1.0' encoding='UTF-8'?>"
"<entry xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005' xmlns:ns='http://example.com/'>"
"<title type='text'>Testing unhandled XML</title>"
- "<updated>2009-01-25T14:07:37.000001+00:00</updated>"
- "<published>2009-01-23T14:06:37.000001+00:00</published>"
+ "<updated>2009-01-25T14:07:37Z</updated>"
+ "<published>2009-01-23T14:06:37Z</published>"
"<content type='text'>Here we test unhandled XML elements.</content>"
"<foobar>Test!</foobar>"
"<barfoo shizzle=\"zing\"/>"
@@ -569,8 +569,8 @@ test_entry_parse_xml_kind_category (void)
"<?xml version='1.0' encoding='UTF-8'?>"
"<entry xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005'>"
"<title type='text'>Testing kind categories</title>"
- "<updated>2009-01-25T14:07:37.000001+00:00</updated>"
- "<published>2009-01-23T14:06:37.000001+00:00</published>"
+ "<updated>2009-01-25T14:07:37Z</updated>"
+ "<published>2009-01-23T14:06:37Z</published>"
"<content type='text'>Here we test kind categories.</content>"
"<category term='http://schemas.google.com/docs/2007#file' "
"scheme='http://schemas.google.com/g/2005#kind' "
@@ -620,7 +620,7 @@ test_entry_parse_json (void)
"{"
"\"title\":\"A title\","
"\"id\":\"some-id\","
- "\"updated\":\"2009-01-25T14:07:37.000001+00:00\","
+ "\"updated\":\"2009-01-25T14:07:37Z\","
"\"etag\":\"some-etag\","
"\"selfLink\":\"http://example.com/\","
"\"kind\":\"kind#kind\","
@@ -760,8 +760,8 @@ test_entry_escaping (void)
"<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'>"
"<title type='text'>Escaped content & stuff</title>"
"<id>http://foo.com/?foo&bar</id>"
- "<updated>2010-12-10T17:21:24.000001+00:00</updated>"
- "<published>2010-12-10T17:21:24.000001+00:00</published>"
+ "<updated>2010-12-10T17:21:24Z</updated>"
+ "<published>2010-12-10T17:21:24Z</published>"
"<summary type='text'>Summary & stuff</summary>"
"<rights>Free & open source</rights>"
"<content type='text'>Content & things.</content>"
@@ -1106,7 +1106,7 @@ test_feed_escaping (void)
"<feed xmlns='http://www.w3.org/2005/Atom'>"
"<title type='text'>Test feed & stuff.</title>"
"<id>http://foo.com?foo&bar</id>"
- "<updated>2010-12-10T17:49:15.000001+00:00</updated>"
+ "<updated>2010-12-10T17:49:15Z</updated>"
"</feed>");
g_object_unref (feed);
}
@@ -1157,28 +1157,28 @@ test_query_dates (void)
/* updated-min */
gdata_query_set_updated_min (query, 1373280114); /* 2013-07-08T10:41:54Z */
query_uri = gdata_query_get_query_uri (query, "http://example.com");
- g_assert_cmpstr (query_uri, ==,
"http://example.com?q=baz&updated-min=2013-07-08T10:41:54.000001+00:00");
+ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-min=2013-07-08T10:41:54Z");
g_free (query_uri);
gdata_query_set_updated_min (query, -1);
/* updated-max */
gdata_query_set_updated_max (query, 1373280114); /* 2013-07-08T10:41:54Z */
query_uri = gdata_query_get_query_uri (query, "http://example.com");
- g_assert_cmpstr (query_uri, ==,
"http://example.com?q=baz&updated-max=2013-07-08T10:41:54.000001+00:00");
+ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-max=2013-07-08T10:41:54Z");
g_free (query_uri);
gdata_query_set_updated_max (query, -1);
/* published-min */
gdata_query_set_published_min (query, 1373280114); /* 2013-07-08T10:41:54Z */
query_uri = gdata_query_get_query_uri (query, "http://example.com");
- g_assert_cmpstr (query_uri, ==,
"http://example.com?q=baz&published-min=2013-07-08T10:41:54.000001+00:00");
+ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-min=2013-07-08T10:41:54Z");
g_free (query_uri);
gdata_query_set_published_min (query, -1);
/* published-max */
gdata_query_set_published_max (query, 1373280114); /* 2013-07-08T10:41:54Z */
query_uri = gdata_query_get_query_uri (query, "http://example.com");
- g_assert_cmpstr (query_uri, ==,
"http://example.com?q=baz&published-max=2013-07-08T10:41:54.000001+00:00");
+ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-max=2013-07-08T10:41:54Z");
g_free (query_uri);
gdata_query_set_published_max (query, -1);
@@ -3254,7 +3254,7 @@ test_gd_reminder (void)
gdata_test_assert_xml (reminder,
"<?xml version='1.0' encoding='UTF-8'?>"
"<gd:reminder xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005' "
- "absoluteTime='2005-06-07T00:55:00.000001+00:00' method='alert'/>");
+ "absoluteTime='2005-06-07T00:55:00Z' method='alert'/>");
g_object_unref (reminder);
}
@@ -3349,8 +3349,8 @@ test_gd_when (void)
/* Check the outputted XML is the same */
gdata_test_assert_xml (when,
"<?xml version='1.0' encoding='UTF-8'?>"
- "<gd:when xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005' startTime='2005-06-07T01:00:00.000001+00:00' "
- "endTime='2005-06-07T02:00:00.000001+00:00'/>");
+ "<gd:when xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005' startTime='2005-06-07T01:00:00Z' "
+ "endTime='2005-06-07T02:00:00Z'/>");
g_object_unref (when);
/* Now parse a time with different information */
@@ -3392,7 +3392,7 @@ test_gd_when (void)
"<gd:when xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005' startTime='2005-06-06' "
"endTime='2005-06-08' valueString='This weekend'>"
"<gd:reminder minutes='15'/>"
- "<gd:reminder absoluteTime='2005-06-06T00:00:00.000001+00:00'
method='alert'/>"
+ "<gd:reminder absoluteTime='2005-06-06T00:00:00Z' method='alert'/>"
"<foobar/>"
"</gd:when>");
g_object_unref (when);
@@ -3412,7 +3412,7 @@ test_gd_when_escaping (void)
gdata_test_assert_xml (when,
"<?xml version='1.0' encoding='UTF-8'?>"
"<gd:when xmlns='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005' "
- "startTime='2005-06-07T01:00:00.000001+00:00' valueString='Value string
& stuff!'/>");
+ "startTime='2005-06-07T01:00:00Z' valueString='Value string &
stuff!'/>");
g_object_unref (when);
}
diff --git a/gdata/tests/tasks.c b/gdata/tests/tasks.c
index d8583b5..2e9a03e 100644
--- a/gdata/tests/tasks.c
+++ b/gdata/tests/tasks.c
@@ -122,14 +122,14 @@ test_query_uri (void)
g_assert_cmpstr (query_uri, ==,
"http://example.com"
/* FIXME: First two are outdated fallbacks */
- "?updated-min=1970-01-01T01:53:09.000001+00:00"
+ "?updated-min=1970-01-01T01:53:09Z"
"&max-results=10"
"&maxResults=10"
- "&updatedMin=1970-01-01T01:53:09.000001+00:00"
- "&completedMin=1970-01-01T01:34:38.000001+00:00"
- "&completedMax=1970-01-01T00:20:34.000001+00:00"
- "&dueMin=1970-01-01T00:39:05.000001+00:00"
- "&dueMax=1970-01-01T00:57:36.000001+00:00"
+ "&updatedMin=1970-01-01T01:53:09Z"
+ "&completedMin=1970-01-01T01:34:38Z"
+ "&completedMax=1970-01-01T00:20:34Z"
+ "&dueMin=1970-01-01T00:39:05Z"
+ "&dueMax=1970-01-01T00:57:36Z"
"&showCompleted=true"
"&showDeleted=true"
"&showHidden=true");
@@ -150,14 +150,14 @@ test_query_uri (void)
"http://example.com");
g_assert_cmpstr (query_uri, ==,
"http://example.com"
- "?updated-min=1970-01-01T01:53:09.000001+00:00"
+ "?updated-min=1970-01-01T01:53:09Z"
"&max-results=10"
"&maxResults=10"
- "&updatedMin=1970-01-01T01:53:09.000001+00:00"
- "&completedMin=1970-01-01T01:34:38.000001+00:00"
- "&completedMax=1970-01-01T00:20:34.000001+00:00"
- "&dueMin=1970-01-01T00:39:05.000001+00:00"
- "&dueMax=1970-01-01T00:57:36.000001+00:00"
+ "&updatedMin=1970-01-01T01:53:09Z"
+ "&completedMin=1970-01-01T01:34:38Z"
+ "&completedMax=1970-01-01T00:20:34Z"
+ "&dueMin=1970-01-01T00:39:05Z"
+ "&dueMax=1970-01-01T00:57:36Z"
"&showCompleted=false"
"&showDeleted=false"
"&showHidden=false");
@@ -322,8 +322,8 @@ test_task_properties (void)
"\"title\": \"some-other-title\","
"\"notes\": \"more-notes\","
"\"status\": \"completed\","
- "\"due\": \"2014-08-30T17:20:00.000001+00:00\","
- "\"completed\": \"2014-08-30T17:20:00.000001+00:00\","
+ "\"due\": \"2014-08-30T17:20:00Z\","
+ "\"completed\": \"2014-08-30T17:20:00Z\","
"\"deleted\": true,"
"\"hidden\": false"
"}");
@@ -337,8 +337,8 @@ test_task_properties (void)
"\"title\": \"some-other-title\","
"\"notes\": \"more-notes\","
"\"status\": \"completed\","
- "\"due\": \"2014-08-30T17:20:00.000001+00:00\","
- "\"completed\": \"2014-08-30T17:20:00.000001+00:00\","
+ "\"due\": \"2014-08-30T17:20:00Z\","
+ "\"completed\": \"2014-08-30T17:20:00Z\","
"\"deleted\": false,"
"\"hidden\": false"
"}");
@@ -501,14 +501,14 @@ test_task_parser_normal (void)
"\"id\": \"some-id\","
"\"etag\": \"some-etag\","
"\"title\": \"some-title \\\"with quotes\\\"\","
- "\"updated\": \"2014-08-30T19:40:00.000001+00:00\","
+ "\"updated\": \"2014-08-30T19:40:00Z\","
"\"selfLink\": \"http://some-uri/\","
"\"parent\": \"some-parent-id\","
"\"position\": \"some-position\","
"\"notes\": \"Some notes!\","
"\"status\": \"needsAction\","
- "\"due\": \"2014-08-30T20:00:00.000001+00:00\","
- "\"completed\": \"2014-08-30T20:10:05.000001+00:00\","
+ "\"due\": \"2014-08-30T20:00:00Z\","
+ "\"completed\": \"2014-08-30T20:10:05Z\","
"\"deleted\": false,"
"\"hidden\": true,"
/* Unhandled for the moment: */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]