Skip to content

Commit fcd7c27

Browse files
committed
Refactoring.
1 parent 4dd7fc9 commit fcd7c27

9 files changed

Lines changed: 26 additions & 24 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
/*.egg-info
44
*.pyc
55
*.pyo
6+
.tox

msgpackrpc/__init__.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import sys
2-
3-
inPy3k = sys.version_info[0] == 3
4-
51
from pkg_resources import get_distribution, DistributionNotFound
62

73
try:

msgpackrpc/compat.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import sys
2+
inPy3k = sys.version_info[0] == 3
3+
4+
if inPy3k:
5+
def force_str(s):
6+
if isinstance(s, bytes):
7+
return s.decode('utf-8')
8+
return str(s)
9+
else:
10+
def force_str(s):
11+
return str(s)

msgpackrpc/server.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import msgpack
22

3-
from msgpackrpc import inPy3k
3+
from msgpackrpc.compat import force_str
44
from msgpackrpc import error
55
from msgpackrpc import Loop
66
from msgpackrpc import message
@@ -42,8 +42,7 @@ def on_notify(self, method, param):
4242

4343
def dispatch(self, method, param, responder):
4444
try:
45-
if inPy3k and not isinstance(method, str):
46-
method = method.decode("utf-8")
45+
method = force_str(method)
4746
if not hasattr(self._dispatcher, method):
4847
raise error.NoMethodError("'{0}' method not found".format(method))
4948
responder.set_result(getattr(self._dispatcher, method)(*param))

msgpackrpc/session.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import msgpack
22

3-
from msgpackrpc import inPy3k
43
from msgpackrpc import Loop
54
from msgpackrpc import message
65
from msgpackrpc.error import RPCError
@@ -51,7 +50,6 @@ def send_request(self, method, args):
5150
future = Future(self._loop, self._timeout)
5251
self._request_table[msgid] = future
5352
self._transport.send_message([message.REQUEST, msgid, method, args])
54-
5553
return future
5654

5755
def notify(self, method, *args):
@@ -67,11 +65,10 @@ def close(self):
6765
self._request_table = {}
6866

6967
def on_connect_failed(self, reason):
70-
"""\
68+
"""
7169
The callback called when the connection failed.
7270
Called by the transport layer.
7371
"""
74-
7572
# set error for all requests
7673
#for msgid, future in self._request_table.iteritems():
7774
for msgid, future in _iteritems(self._request_table):
@@ -105,7 +102,7 @@ def on_timeout(self, msgid):
105102

106103
def step_timeout(self):
107104
timeouts = []
108-
for msgid, future in _iteritems(self._request_table):
105+
for msgid, future in self._request_table.iteritems():
109106
if future.step_timeout():
110107
timeouts.append(msgid)
111108

@@ -118,20 +115,14 @@ def step_timeout(self):
118115
future.set_error("Request timed out")
119116
self._loop.start()
120117

121-
def _iteritems(dic): # ugly!!!!!!
122-
if inPy3k:
123-
return dic.items()
124-
else:
125-
return dic.iteritems()
126118

127119
def _NoSyncIDGenerator():
128-
"""\
120+
"""
129121
Message ID Generator.
130122
131123
NOTE: Don't use in multithread. If you want use this
132124
in multithreaded application, use lock.
133125
"""
134-
135126
counter = 0
136127
while True:
137128
yield counter

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
import sys
66

77
try:
8-
from setuptools import setup, find_packages
8+
from setuptools import setup
99
except ImportError:
1010
setup = distutils.core.setup
1111
pass
1212

1313
kwargs = {}
1414
major, minor = sys.version_info[:2]
15-
if major >= 3:
15+
if major == 3:
1616
import setuptools # setuptools is required for use_2to3
1717
kwargs["use_2to3"] = True
1818

test/helper.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import os
22
import sys
33

4-
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
5-
64
def unused_port():
75
import socket
86

test/test_msgpackrpc.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
import helper
55
import msgpackrpc
6-
from msgpackrpc import inPy3k
76
from msgpackrpc import error
87

98

tox.ini

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[tox]
2+
envlist = py27,py32
3+
[testenv]
4+
deps=
5+
pytest
6+
six
7+
commands=py.test test

0 commit comments

Comments
 (0)