pairs = ''.join(['%s%s' % (k, v) for (k, v) in sortedItems(params)])
return md5(self._secret+pairs).hexdigest()
+ @staticmethod
+ def open_url(url, queryArgs=None):
+ if queryArgs:
+ url += '?' + urllib.urlencode(queryArgs)
+ warnings.warn("Performing download of %s" % url, stacklevel=5)
+ return urllib.urlopen(url)
+
def get(self, **params):
"Get the XML response for the passed `params`."
params['api_key'] = self._apiKey
params['format'] = 'json'
params['api_sig'] = self._sign(params)
- json = open_url(SERVICE_URL, params).read()
+ json = self.open_url(SERVICE_URL, params).read()
if _use_simplejson:
data = DottedDict('ROOT', simplejson.loads(json))
yield key, dictionary[key]
-def open_url(url, queryArgs=None):
- if queryArgs:
- url = url + '?' + urllib.urlencode(queryArgs)
- return urllib.urlopen(url)
-
-
class DottedDict(object):
"Make dictionary items accessible via the object-dot notation."