Osmclient migration to Python3 (feature 8031)
[osm/osmclient.git] / osmclient / sol005 / http.py
index 5311ca8..f19a098 100644 (file)
@@ -17,9 +17,7 @@
 from io import BytesIO
 import pycurl
 import json
-import yaml
 from osmclient.common import http
-from osmclient.common.exceptions import ClientException
 
 class Http(http.Http):
 
@@ -31,7 +29,7 @@ class Http(http.Http):
 
     def _get_curl_cmd(self, endpoint):
         curl_cmd = pycurl.Curl()
-        #print self._url + endpoint
+        #print(self._url + endpoint)
         curl_cmd.setopt(pycurl.URL, self._url + endpoint)
         curl_cmd.setopt(pycurl.SSL_VERIFYPEER, 0)
         curl_cmd.setopt(pycurl.SSL_VERIFYHOST, 0)
@@ -46,7 +44,7 @@ class Http(http.Http):
         curl_cmd.setopt(pycurl.WRITEFUNCTION, data.write)
         curl_cmd.perform()
         http_code = curl_cmd.getinfo(pycurl.HTTP_CODE)
-        #print 'HTTP_CODE: {}'.format(http_code)
+        #print('HTTP_CODE: {}'.format(http_code))
         curl_cmd.close()
         # TODO 202 accepted should be returned somehow
         if data.getvalue():
@@ -60,11 +58,10 @@ class Http(http.Http):
         data = BytesIO()
         curl_cmd = self._get_curl_cmd(endpoint)
         if put_method:
-            curl_cmd.setopt(pycurl.PUT, 1)
+            curl_cmd.setopt(pycurl.CUSTOMREQUEST, "PUT")
         elif patch_method:
             curl_cmd.setopt(pycurl.CUSTOMREQUEST, "PATCH")
-        else:
-            curl_cmd.setopt(pycurl.POST, 1)
+        curl_cmd.setopt(pycurl.POST, 1)
         curl_cmd.setopt(pycurl.WRITEFUNCTION, data.write)
 
         if postfields_dict is not None:
@@ -77,7 +74,7 @@ class Http(http.Http):
                            (pycurl.FORM_FILE,
                             formfile[1])))])
         elif filename is not None:
-            with open(filename, 'r') as stream:
+            with open(filename, 'rb') as stream:
                 postdata=stream.read()
             curl_cmd.setopt(pycurl.POSTFIELDS, postdata)