Fix all minor typos and modifications in tests
[kamaki] / kamaki / clients / __init__.py
index 8fa94c9..bb0eef8 100644 (file)
@@ -31,7 +31,7 @@
 # interpreted as representing official policies, either expressed
 # or implied, of GRNET S.A.
 
-from urllib2 import quote
+from urllib2 import quote, unquote
 from urlparse import urlparse
 from threading import Thread
 from json import dumps, loads
@@ -39,18 +39,17 @@ from time import time
 from httplib import ResponseNotReady
 from time import sleep
 from random import random
+from logging import getLogger
 
 from objpool.http import PooledHTTPConnection
 
-from kamaki.logger import add_file_logger, get_log_filename
 
 TIMEOUT = 60.0   # seconds
 HTTP_METHODS = ['GET', 'POST', 'PUT', 'HEAD', 'DELETE', 'COPY', 'MOVE']
 
-log = add_file_logger(__name__)
-log.debug('Logging location: %s' % get_log_filename())
-sendlog = add_file_logger('%s.send' % __name__)
-recvlog = add_file_logger('%s.recv' % __name__)
+log = getLogger(__name__)
+sendlog = getLogger('%s.send' % __name__)
+recvlog = getLogger('%s.recv' % __name__)
 
 
 def _encode(v):
@@ -116,7 +115,7 @@ class RequestManager(Logged):
 
         :returns: (scheme, netloc)
         """
-        url = _encode(url) if url else 'http://127.0.0.1/'
+        url = _encode(str(url)) if url else 'http://127.0.0.1/'
         url += '' if url.endswith('/') else '/'
         if path:
             url += _encode(path[1:] if path.startswith('/') else path)
@@ -143,13 +142,9 @@ class RequestManager(Logged):
         self.method, self.data = method, data
         self.scheme, self.netloc = self._connection_info(url, path, params)
 
-    def log(self):
+    def dump_log(self):
         sendlog.info('%s %s://%s%s\t[%s]' % (
-            self.method,
-            self.scheme,
-            self.netloc,
-            self.path,
-            self))
+            self.method, self.scheme, self.netloc, self.path, self))
         for key, val in self.headers.items():
             if (not self.LOG_TOKEN) and key.lower() == 'x-auth-token':
                 continue
@@ -173,7 +168,7 @@ class RequestManager(Logged):
             url=str(self.path),
             headers=self.headers,
             body=self.data)
-        self.log()
+        self.dump_log()
         keep_trying = TIMEOUT
         while keep_trying > 0:
             try:
@@ -213,13 +208,14 @@ class ResponseManager(Logged):
                 recvlog.info('\n%s <-- %s <-- [req: %s]\n' % (
                     self, r, self.request))
                 self._request_performed = True
-                self._status_code, self._status = r.status, r.reason
+                self._status_code, self._status = r.status, unquote(r.reason)
                 recvlog.info(
                     '%d %s\t[p: %s]' % (self.status_code, self.status, self))
                 self._headers = dict()
                 for k, v in r.getheaders():
                     if (not self.LOG_TOKEN) and k.lower() == 'x-auth-token':
                         continue
+                    v = unquote(v)
                     self._headers[k] = v
                     recvlog.info('  %s: %s\t[p: %s]' % (k, v, self))
                 self._content = r.read()
@@ -315,6 +311,7 @@ class Client(object):
     LOG_DATA = False
 
     def __init__(self, base_url, token):
+        assert base_url, 'No base_url for client %s' % self
         self.base_url = base_url
         self.token = token
         self.headers, self.params = dict(), dict()
@@ -360,11 +357,11 @@ class Client(object):
     def set_header(self, name, value, iff=True):
         """Set a header 'name':'value'"""
         if value is not None and iff:
-            self.headers[name] = value
+            self.headers[name] = unicode(value)
 
     def set_param(self, name, value=None, iff=True):
         if iff:
-            self.params[name] = value
+            self.params[name] = unicode(value)
 
     def request(
             self, method, path,