@@ -46,53 +46,6 @@ def api_version(self):
46
46
def api_namespace (self ):
47
47
return self .requester .api
48
48
49
- @classmethod
50
- def normalize_params (cls , params ):
51
- """ Normalize parameters. works with RFC 5849 logic. params is a list of key, value pairs """
52
- if isinstance (params , dict ):
53
- params = params .items ()
54
- params = \
55
- [(cls .normalize_str (key ), cls .normalize_str (UrlUtils .get_value_like_as_php (value ))) \
56
- for key , value in params ]
57
-
58
- # print "NORMALIZED: %s\n" % str(params.keys())
59
- # resposne = urlencode(params)
60
- response = params
61
- # print "RESPONSE: %s\n" % str(resposne.split('&'))
62
- return response
63
-
64
- @classmethod
65
- def sorted_params (cls , params ):
66
- """ Sort parameters. works with RFC 5849 logic. params is a list of key, value pairs """
67
-
68
- if isinstance (params , dict ):
69
- params = params .items ()
70
-
71
- # return sorted(params)
72
- ordered = []
73
- base_keys = sorted (set (k .split ('[' )[0 ] for k , v in params ))
74
- keys_seen = []
75
- for base in base_keys :
76
- for key , value in params :
77
- if key == base or key .startswith (base + '[' ):
78
- if key not in keys_seen :
79
- ordered .append ((key , value ))
80
- keys_seen .append (key )
81
-
82
- return ordered
83
-
84
- @classmethod
85
- def normalize_str (cls , string ):
86
- return quote (string , '' )
87
-
88
- @classmethod
89
- def flatten_params (cls , params ):
90
- if isinstance (params , dict ):
91
- params = params .items ()
92
- params = cls .normalize_params (params )
93
- params = cls .sorted_params (params )
94
- return "&" .join (["%s=%s" % (key , value ) for key , value in params ])
95
-
96
49
def get_auth_url (self , endpoint_url , method ):
97
50
""" Returns the URL with added Auth params """
98
51
return endpoint_url
@@ -117,7 +70,7 @@ def get_auth_url(self, endpoint_url, method):
117
70
})
118
71
endpoint_url = UrlUtils .substitute_query (
119
72
endpoint_url ,
120
- self .flatten_params (endpoint_params )
73
+ UrlUtils .flatten_params (endpoint_params )
121
74
)
122
75
return endpoint_url
123
76
@@ -167,7 +120,7 @@ def add_params_sign(self, method, url, params, sign_key=None):
167
120
# for key, value in parse_qsl(urlparse_result.query):
168
121
# params += [(key, value)]
169
122
170
- params = self .sorted_params (params )
123
+ params = UrlUtils .sorted_params (params )
171
124
172
125
params_without_signature = []
173
126
for key , value in params :
@@ -177,7 +130,7 @@ def add_params_sign(self, method, url, params, sign_key=None):
177
130
signature = self .generate_oauth_signature (method , params_without_signature , url , sign_key )
178
131
params = params_without_signature + [("oauth_signature" , signature )]
179
132
180
- query_string = self .flatten_params (params )
133
+ query_string = UrlUtils .flatten_params (params )
181
134
182
135
return UrlUtils .substitute_query (url , query_string )
183
136
@@ -198,7 +151,7 @@ def get_auth_url(self, endpoint_url, method):
198
151
@classmethod
199
152
def get_signature_base_string (cls , method , params , url ):
200
153
base_request_uri = quote (UrlUtils .substitute_query (url ), "" )
201
- query_string = quote ( cls .flatten_params (params ), '~' )
154
+ query_string = quote ( UrlUtils .flatten_params (params ), '~' )
202
155
return "&" .join ([method , base_request_uri , query_string ])
203
156
204
157
def generate_oauth_signature (self , method , params , url , key = None ):
0 commit comments