Ver Fonte

Minor py3k compatibility changes: iteritems() doesn't exist on Python 3.x, logged text must be Unicode.

Lukasz Langa há 15 anos atrás
pai
commit
485e375139
2 ficheiros alterados com 6 adições e 2 exclusões
  1. 5 1
      radicale/__init__.py
  2. 1 1
      radicale/xmlutils.py

+ 5 - 1
radicale/__init__.py

@@ -190,7 +190,11 @@ class Application(object):
 
         # Set content length
         if answer:
-            log.LOGGER.debug("Response content:\n%s" % answer)
+            # decoding the answer for logging purposes on Python 3
+            log_answer = answer
+            if not isinstance(log_answer, str):
+                log_answer = log_answer.decode(config.get("encoding", "request"))
+            log.LOGGER.debug("Response content:\n%s" % log_answer)
             headers["Content-Length"] = "%i" % len(answer)
 
         # Start response

+ 1 - 1
radicale/xmlutils.py

@@ -38,7 +38,7 @@ NAMESPACES = {
     "CS": "http://calendarserver.org/ns/"}
 
 
-for short, url in NAMESPACES.iteritems():
+for short, url in NAMESPACES.items():
     ET._namespace_map[url] = short