--- gcalcli-1.4.orig/gcalcli
+++ gcalcli-1.4/gcalcli
@@ -195,25 +195,25 @@
 def PrintErrMsg(msg):
     if CLR.useColor:
         sys.stdout.write(str(CLR_BRRED()))
-        sys.stdout.write(msg)
+        sys.stdout.write(unicode(msg, 'UTF-8'))
         sys.stdout.write(str(CLR_NRM()))
     else:
-        sys.stdout.write(msg)
+        sys.stdout.write(unicode(msg, 'UTF-8'))
 
 
 def PrintMsg(color, msg):
     if CLR.useColor:
         sys.stdout.write(str(color))
-        sys.stdout.write(msg)
+        sys.stdout.write(unicode(msg, 'UTF-8'))
         sys.stdout.write(str(CLR_NRM()))
     else:
-        sys.stdout.write(msg)
+        sys.stdout.write(unicode(msg, 'UTF-8'))
 
 
 def DebugPrint(msg):
     return
     sys.stdout.write(str(CLR_YLW()))
-    sys.stdout.write(msg)
+    sys.stdout.write(unicode(msg, 'UTF-8'))
     sys.stdout.write(str(CLR_NRM()))
 
 
@@ -223,7 +223,7 @@
     allCals       = None
     workCals      = []
     now           = datetime.now(tzlocal())
-    feedPrefix    = 'http://www.google.com/calendar/feeds/'
+    feedPrefix    = 'https?://www.google.com/calendar/feeds/'
     agendaLength  = 5
     username      = ''
     password      = ''
@@ -251,6 +251,7 @@
     ACCESS_CONTRIBUTOR = 'contributor'
     ACCESS_READ        = 'read'
     ACCESS_FREEBUSY    = 'freebusy'
+    ACCESS_ROOT        = 'root'
 
 
     def __init__(self,
@@ -303,15 +304,22 @@
         self.allCals = self.gcal.GetAllCalendarsFeed()
 
         order = { self.ACCESS_OWNER       : 1,
+                  self.ACCESS_ROOT        : 1.5,
                   self.ACCESS_EDITOR      : 2,
                   self.ACCESS_CONTRIBUTOR : 3,
                   self.ACCESS_READ        : 4,
                   self.ACCESS_FREEBUSY    : 5,
                   self.ACCESS_NONE        : 6 }
 
+        def order_resistant(k):
+            """Helper which would not puke but order last entries with
+            unknown keys
+            """
+            return order.get(k, order[self.ACCESS_NONE]+1)
+
         self.allCals.entry.sort(lambda x, y:
-                                cmp(order[x.access_level.value],
-                                    order[y.access_level.value]))
+                                cmp(order_resistant(x.access_level.value),
+                                    order_resistant(y.access_level.value)))
 
         for cal in self.allCals.entry:
 
