Skip to content

Commit 4fd23a9

Browse files
author
Roman Sichny
committed
Python3 support with six
1 parent 1647d79 commit 4fd23a9

9 files changed

+24
-20
lines changed

Diff for: ari/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import ari.client
99
import swaggerpy.http_client
10-
import urlparse
10+
import six.moves.urllib as urllib
1111

1212
Client = client.Client
1313

@@ -20,7 +20,7 @@ def connect(base_url, username, password):
2020
:param password: ARI password.
2121
:return:
2222
"""
23-
split = urlparse.urlsplit(base_url)
23+
split = urllib.parse.urlsplit(base_url)
2424
http_client = swaggerpy.http_client.SynchronousHttpClient()
2525
http_client.set_basic_auth(split.hostname, username, password)
2626
return Client(base_url, http_client)

Diff for: ari/client.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import json
99
import logging
10-
import urlparse
10+
import six.moves.urllib as urllib
1111
import swaggerpy.client
1212

1313
from ari.model import *
@@ -23,7 +23,7 @@ class Client(object):
2323
"""
2424

2525
def __init__(self, base_url, http_client):
26-
url = urlparse.urljoin(base_url, "ari/api-docs/resources.json")
26+
url = urllib.parse.urljoin(base_url, "ari/api-docs/resources.json")
2727

2828
self.swagger = swaggerpy.client.SwaggerClient(
2929
url, http_client=http_client)
@@ -192,7 +192,7 @@ def extract_objects(event, *args, **kwargs):
192192
# If there's only one field in the schema, just pass that along
193193
if len(obj_fields) == 1:
194194
if obj:
195-
obj = obj.values()[0]
195+
obj = list(obj.values())[0]
196196
else:
197197
obj = None
198198
event_cb(obj, event, *args, **kwargs)
@@ -296,4 +296,3 @@ def on_sound_event(self, event_type, fn, *args, **kwargs):
296296
"""
297297
return self.on_object_event(event_type, fn, Sound, 'Sound',
298298
*args, **kwargs)
299-

Diff for: ari_test/client_test.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import json
66
import requests
77
import unittest
8-
import urllib
8+
import six.moves.urllib as urllib
9+
import codecs
910

1011
from ari_test.utils import AriTestCase
1112

@@ -19,9 +20,9 @@
1920
# noinspection PyDocstring
2021
class ClientTest(AriTestCase):
2122
def test_docs(self):
22-
fp = urllib.urlopen("http://ari.py/ari/api-docs/resources.json")
23+
fp = urllib.request.urlopen("http://ari.py/ari/api-docs/resources.json")
2324
try:
24-
actual = json.load(fp)
25+
actual = json.load(codecs.getreader('utf-8')(fp))
2526
self.assertEqual(self.BASE_URL, actual['basePath'])
2627
finally:
2728
fp.close()

Diff for: ari_test/utils.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import httpretty
44
import os
55
import unittest
6-
import urlparse
6+
import six.moves.urllib as urllib
77
import ari
88
import requests
99

@@ -41,7 +41,7 @@ def build_url(cls, *args):
4141
"""
4242
url = cls.BASE_URL
4343
for arg in args:
44-
url = urlparse.urljoin(url + '/', arg)
44+
url = urllib.parse.urljoin(url + '/', arg)
4545
return url
4646

4747
def serve_api(self):

Diff for: examples/bridge_example.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# Copyright (c) 2013, Digium, Inc.
1212
#
1313

14+
from __future__ import print_function
1415
import ari
1516

1617
client = ari.connect('http://localhost:8088/', 'hey', 'peekaboo')
@@ -22,10 +23,10 @@
2223
b.json['bridge_type'] == 'holding']
2324
if bridges:
2425
bridge = bridges[0]
25-
print "Using bridge %s" % bridge.id
26+
print("Using bridge %s" % bridge.id)
2627
else:
2728
bridge = client.bridges.create(type='holding')
28-
print "Created bridge %s" % bridge.id
29+
print("Created bridge %s" % bridge.id)
2930

3031

3132
def on_enter(bridge, ev):

Diff for: examples/cleanup_example.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77
# Copyright (c) 2013, Digium, Inc.
88
#
99

10+
from __future__ import print_function
1011
import ari
1112
import logging
1213
import sys
13-
import thread
14+
import six.moves._thread as thread
1415

1516
logging.basicConfig()
1617

@@ -68,8 +69,8 @@ def run():
6869

6970

7071
thr = thread.start_new_thread(run, ())
71-
print "Press enter to exit"
72+
print("Press enter to exit")
7273
sys.stdin.readline()
7374
client.close()
7475
sync.acquire()
75-
print "Application finished"
76+
print("Application finished")

Diff for: examples/originate_example.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#
1010
import requests
1111

12+
from __future__ import print_function
1213
import ari
1314

1415
from requests import HTTPError
@@ -24,10 +25,10 @@
2425
if b.json['bridge_type'] == 'holding']
2526
if bridges:
2627
holding_bridge = bridges[0]
27-
print "Using bridge %s" % holding_bridge.id
28+
print("Using bridge %s" % holding_bridge.id)
2829
else:
2930
holding_bridge = client.bridges.create(type='holding')
30-
print "Created bridge %s" % holding_bridge.id
31+
print("Created bridge %s" % holding_bridge.id)
3132

3233

3334
def safe_hangup(channel):

Diff for: examples/playback_example.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# Copyright (c) 2013, Digium, Inc.
1111
#
1212

13+
from __future__ import print_function
1314
import ari
1415
import sys
1516

@@ -52,7 +53,7 @@ def on_dtmf(channel, event):
5253
playback.stop()
5354
channel.continueInDialplan()
5455
else:
55-
print >> sys.stderr, "Unknown DTMF %s" % digit
56+
print("Unknown DTMF %s" % digit, file=sys.stderr)
5657

5758
channel.on_event('ChannelDtmfReceived', on_dtmf)
5859

Diff for: setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@
2828
"Programming Language :: Python",
2929
],
3030
tests_require=["coverage", "httpretty", "nose", "tissue"],
31-
install_requires=["swaggerpy"],
31+
install_requires=["swaggerpy", "six"],
3232
)

0 commit comments

Comments
 (0)