[california/wip/725763-google] Better error reporting, defensive measure when parsing URI
- From: Jim Nelson <jnelson src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [california/wip/725763-google] Better error reporting, defensive measure when parsing URI
- Date: Fri, 4 Apr 2014 00:20:24 +0000 (UTC)
commit d79548b5a345fa0d3a2a78e0dbc617e6a689e64a
Author: Jim Nelson <jim yorba org>
Date: Thu Apr 3 17:20:08 2014 -0700
Better error reporting, defensive measure when parsing URI
.../activator-google-calendar-list-pane.vala | 27 ++++++++++---------
1 files changed, 14 insertions(+), 13 deletions(-)
---
diff --git a/src/activator/google/activator-google-calendar-list-pane.vala
b/src/activator/google/activator-google-calendar-list-pane.vala
index 954a858..f50afa7 100644
--- a/src/activator/google/activator-google-calendar-list-pane.vala
+++ b/src/activator/google/activator-google-calendar-list-pane.vala
@@ -141,30 +141,30 @@ public class GoogleCalendarListPane : Gtk.Grid, Card {
try {
uri = URI.parse(calendar.content_uri);
+ // look for first path element after "/feeds/", which is the resource name of the
+ // calendar
string[] elements = Soup.URI.decode(uri.path).split("/");
string? resource_name = null;
- foreach (string element in elements) {
- if (element == "feeds") {
- resource_name = element;
- } else if (resource_name != null) {
- resource_name = element;
+ for (int ctr = 0; ctr < elements.length; ctr++) {
+ if (elements[ctr] == "feeds") {
+ if (ctr < elements.length - 1)
+ resource_name = elements[ctr + 1];
break;
}
}
- if (resource_name == null) {
- errmsg = "Not a feed URI or no resource name found";
- } else {
- debug("resource name = %s", resource_name);
+ if (resource_name == null)
+ errmsg = _("Bad Google URI \"%s\"").printf(uri.to_string(false));
+ else
uri.set_path("/calendar/dav/%s/events".printf(Soup.URI.encode(resource_name, null)));
- }
} catch (Error err) {
errmsg = err.message;
}
- if (uri == null || errmsg != null) {
- debug("Bad calendar URI %s: %s", calendar.content_uri, errmsg);
+ if (errmsg != null) {
+ Application.instance.error_message(_("Unable to subscribe to %s: %s").printf(
+ calendar.title, errmsg));
dismissed(false);
@@ -177,7 +177,8 @@ public class GoogleCalendarListPane : Gtk.Grid, Card {
calendar.color.to_hexadecimal(), null);
completed();
} catch (Error err) {
- debug("Unable to create subscription to %s: %s", calendar.content_uri, err.message);
+ Application.instance.error_message(_("Unable to subscribe to %s: %s").printf(
+ calendar.title, err.message));
}
dismissed(true);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]