Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions zanox/apis.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
import string
import json

from urlparse import urlparse, parse_qs
from urllib import urlencode
from urllib.parse import urlparse, parse_qs, urlencode

from zanox import __version__

Expand All @@ -34,7 +33,7 @@ def __init__(self, connect_id, secret_key, hostname='api.zanox.com', format='jso
self.tracking_url_format = 'http://ad.zanox.com/ppc/?{tracking_id}&ULP=[[{destination}]]&zpar9=[[{connect_id}]]'

# Go through keyword arguments, and either save their values to the instance
for key, value in kwargs.iteritems():
for key, value in kwargs.items():
setattr(self, key, value)

def construct_url(self, resource, format=None, **parameters):
Expand Down Expand Up @@ -79,12 +78,12 @@ def get_signature(self, url, method, date, nonce):
date = date.strftime(self.datetime_format)
method = method.upper()
elements = (method, uri, date, nonce)
signature = u''.join(elements)
signature = ''.join(elements)

# Encode signature SHA256, and Base64
signature = hmac.new(self.secret_key, msg=signature, digestmod=hashlib.sha1).digest()
signature = hmac.new(self.secret_key.encode('utf-8'), msg=signature.encode('utf-8'), digestmod=hashlib.sha1).digest()
signature = base64.b64encode(signature)
signature = '%s:%s' % (self.connect_id, signature)
signature = '%s:%s' % (self.connect_id, signature.decode())
return signature

def get_default_headers(self):
Expand Down Expand Up @@ -117,7 +116,7 @@ def get_page_numbers(json):
return page_numbers

def pretty_print(self, json_object):
print json.dumps(json_object, indent=4, sort_keys=True)
print(json.dumps(json_object, indent=4, sort_keys=True))

def get(self, resource, **parameters):
url = self.construct_url(resource, **parameters)
Expand All @@ -140,7 +139,7 @@ def get_tracking_url(self, destination_url, adspace_id=None, tracking_id=None, u
deeplink_api_url = '{0}://toolbox.zanox.com/tools/api/deeplink?connectid={1}&adspaceid={2}&url={3}'.format(self.protocol, self.connect_id, adspace_id, destination_url)
headers = self.get_default_headers()
response = requests.get(deeplink_api_url, headers=headers)
print response.text
print(response.text)
tracking_url = xmltodict.parse(response.text)['deeplink']['url']
else:
# Generate the link with the given trakcing url format
Expand All @@ -155,4 +154,4 @@ def get_tracking_url(self, destination_url, adspace_id=None, tracking_id=None, u
return tracking_url

def put(self, content, path, query=None):
return
return