1818"""
1919import base64
2020import json
21- import posixpath
2221
2322from ._2to3 import bytes_ , unicode_
2423from .database import CloudantDatabase , CouchDatabase
@@ -138,7 +137,7 @@ def session(self):
138137 """
139138 if self .admin_party :
140139 return None
141- sess_url = posixpath .join (self .server_url , '_session' )
140+ sess_url = '/' .join (( self .server_url , '_session' ) )
142141 resp = self .r_session .get (sess_url )
143142 resp .raise_for_status ()
144143 sess_data = resp .json ()
@@ -164,7 +163,7 @@ def session_login(self, user, passwd):
164163 """
165164 if self .admin_party :
166165 return
167- sess_url = posixpath .join (self .server_url , '_session' )
166+ sess_url = '/' .join (( self .server_url , '_session' ) )
168167 resp = self .r_session .post (
169168 sess_url ,
170169 data = {
@@ -182,7 +181,7 @@ def session_logout(self):
182181 """
183182 if self .admin_party :
184183 return
185- sess_url = posixpath .join (self .server_url , '_session' )
184+ sess_url = '/' .join (( self .server_url , '_session' ) )
186185 resp = self .r_session .delete (sess_url )
187186 resp .raise_for_status ()
188187
@@ -207,7 +206,7 @@ def all_dbs(self):
207206
208207 :returns: List of database names for the client
209208 """
210- url = posixpath .join (self .server_url , '_all_dbs' )
209+ url = '/' .join (( self .server_url , '_all_dbs' ) )
211210 resp = self .r_session .get (url )
212211 resp .raise_for_status ()
213212 return resp .json ()
@@ -560,9 +559,7 @@ def _usage_endpoint(self, endpoint, year=None, month=None):
560559 try :
561560 if int (year ) > 0 and int (month ) in range (1 , 13 ):
562561 resp = self .r_session .get (
563- posixpath .join (
564- endpoint , str (int (year )), str (int (month )))
565- )
562+ '/' .join ((endpoint , str (int (year )), str (int (month )))))
566563 else :
567564 err = True
568565 except (ValueError , TypeError ):
@@ -587,7 +584,7 @@ def bill(self, year=None, month=None):
587584
588585 :returns: Billing data in JSON format
589586 """
590- endpoint = posixpath .join (self .server_url , '_api' , 'v2' , 'bill' )
587+ endpoint = '/' .join (( self .server_url , '_api' , 'v2' , 'bill' ) )
591588 return self ._usage_endpoint (endpoint , year , month )
592589
593590 def volume_usage (self , year = None , month = None ):
@@ -604,9 +601,8 @@ def volume_usage(self, year=None, month=None):
604601
605602 :returns: Volume usage data in JSON format
606603 """
607- endpoint = posixpath .join (
608- self .server_url , '_api' , 'v2' , 'usage' , 'data_volume'
609- )
604+ endpoint = '/' .join ((
605+ self .server_url , '_api' , 'v2' , 'usage' , 'data_volume' ))
610606 return self ._usage_endpoint (endpoint , year , month )
611607
612608 def requests_usage (self , year = None , month = None ):
@@ -623,9 +619,8 @@ def requests_usage(self, year=None, month=None):
623619
624620 :returns: Requests usage data in JSON format
625621 """
626- endpoint = posixpath .join (
627- self .server_url , '_api' , 'v2' , 'usage' , 'requests'
628- )
622+ endpoint = '/' .join ((
623+ self .server_url , '_api' , 'v2' , 'usage' , 'requests' ))
629624 return self ._usage_endpoint (endpoint , year , month )
630625
631626 def shared_databases (self ):
@@ -635,9 +630,8 @@ def shared_databases(self):
635630
636631 :returns: List of database names
637632 """
638- endpoint = posixpath .join (
639- self .server_url , '_api' , 'v2' , 'user' , 'shared_databases'
640- )
633+ endpoint = '/' .join ((
634+ self .server_url , '_api' , 'v2' , 'user' , 'shared_databases' ))
641635 resp = self .r_session .get (endpoint )
642636 resp .raise_for_status ()
643637 data = resp .json ()
@@ -649,9 +643,7 @@ def generate_api_key(self):
649643
650644 :returns: API key/pass pair in JSON format
651645 """
652- endpoint = posixpath .join (
653- self .server_url , '_api' , 'v2' , 'api_keys'
654- )
646+ endpoint = '/' .join ((self .server_url , '_api' , 'v2' , 'api_keys' ))
655647 resp = self .r_session .post (endpoint )
656648 resp .raise_for_status ()
657649 return resp .json ()
@@ -662,9 +654,8 @@ def cors_configuration(self):
662654
663655 :returns: CORS data in JSON format
664656 """
665- endpoint = posixpath .join (
666- self .server_url , '_api' , 'v2' , 'user' , 'config' , 'cors'
667- )
657+ endpoint = '/' .join ((
658+ self .server_url , '_api' , 'v2' , 'user' , 'config' , 'cors' ))
668659 resp = self .r_session .get (endpoint )
669660 resp .raise_for_status ()
670661
@@ -754,9 +745,8 @@ def _write_cors_configuration(self, config):
754745
755746 :returns: CORS configuration update status in JSON format
756747 """
757- endpoint = posixpath .join (
758- self .server_url , '_api' , 'v2' , 'user' , 'config' , 'cors'
759- )
748+ endpoint = '/' .join ((
749+ self .server_url , '_api' , 'v2' , 'user' , 'config' , 'cors' ))
760750 resp = self .r_session .put (
761751 endpoint ,
762752 data = json .dumps (config , cls = self .encoder ),
0 commit comments