aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/har_extractor.py3
-rw-r--r--examples/upsidedownternet.py6
-rw-r--r--mitmproxy/filt.py20
-rw-r--r--mitmproxy/protocol/http2.py3
-rw-r--r--mitmproxy/stateobject.py7
-rw-r--r--mitmproxy/tnetstring.py5
-rw-r--r--mitmproxy/web/app.py10
-rw-r--r--pathod/app.py4
-rw-r--r--pathod/test.py4
-rw-r--r--test/mitmproxy/test_dump.py2
-rw-r--r--test/mitmproxy/test_filt.py4
-rw-r--r--test/mitmproxy/test_flow.py2
-rw-r--r--test/pathod/test_language_actions.py4
-rw-r--r--test/pathod/test_language_http.py17
-rw-r--r--test/pathod/test_language_http2.py16
-rw-r--r--test/pathod/test_language_writer.py31
-rw-r--r--test/pathod/test_pathoc.py14
-rw-r--r--test/pathod/test_pathoc_cmdline.py4
-rw-r--r--test/pathod/test_pathod.py6
-rw-r--r--test/pathod/test_pathod_cmdline.py1
-rw-r--r--test/pathod/tutils.py10
21 files changed, 87 insertions, 86 deletions
diff --git a/examples/har_extractor.py b/examples/har_extractor.py
index 25661f7c..15e1ef30 100644
--- a/examples/har_extractor.py
+++ b/examples/har_extractor.py
@@ -2,6 +2,7 @@
This inline script utilizes harparser.HAR from
https://github.com/JustusW/harparser to generate a HAR log object.
"""
+import six
from harparser import HAR
from datetime import datetime
@@ -111,7 +112,7 @@ def response(context, flow):
# HAR timings are integers in ms, so we have to re-encode the raw timings to
# that format.
- timings = dict([(k, int(1000 * v)) for k, v in timings_raw.iteritems()])
+ timings = dict([(k, int(1000 * v)) for k, v in six.iteritems(timings_raw)])
# The full_time is the sum of all timings.
# Timings set to -1 will be ignored as per spec.
diff --git a/examples/upsidedownternet.py b/examples/upsidedownternet.py
index b7489cb6..9aac9f05 100644
--- a/examples/upsidedownternet.py
+++ b/examples/upsidedownternet.py
@@ -1,4 +1,4 @@
-import cStringIO
+from six.moves import cStringIO as StringIO
from PIL import Image
from mitmproxy.models import decoded
@@ -7,9 +7,9 @@ def response(context, flow):
if flow.response.headers.get("content-type", "").startswith("image"):
with decoded(flow.response): # automatically decode gzipped responses.
try:
- s = cStringIO.StringIO(flow.response.content)
+ s = StringIO(flow.response.content)
img = Image.open(s).rotate(180)
- s2 = cStringIO.StringIO()
+ s2 = StringIO()
img.save(s2, "png")
flow.response.content = s2.getvalue()
flow.response.headers["content-type"] = "image/png"
diff --git a/mitmproxy/filt.py b/mitmproxy/filt.py
index aa62b717..5e0e13cc 100644
--- a/mitmproxy/filt.py
+++ b/mitmproxy/filt.py
@@ -31,19 +31,19 @@
~c CODE Response code.
rex Equivalent to ~u rex
"""
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function
import re
import sys
import pyparsing as pp
-class _Token:
-
+class _Token(object):
def dump(self, indent=0, fp=sys.stdout):
- print >> fp, "\t" * indent, self.__class__.__name__,
- if hasattr(self, "expr"):
- print >> fp, "(%s)" % self.expr,
- print >> fp
+ print("{spacing}{name}{expr}".format(
+ spacing="\t" * indent,
+ name=self.__class__.__name__,
+ expr=getattr(self, "expr", "")
+ ), file=fp)
class _Action(_Token):
@@ -283,7 +283,7 @@ class FAnd(_Token):
self.lst = lst
def dump(self, indent=0, fp=sys.stdout):
- print >> fp, "\t" * indent, self.__class__.__name__
+ super(FAnd, self).dump(indent, fp)
for i in self.lst:
i.dump(indent + 1, fp)
@@ -297,7 +297,7 @@ class FOr(_Token):
self.lst = lst
def dump(self, indent=0, fp=sys.stdout):
- print >> fp, "\t" * indent, self.__class__.__name__
+ super(FOr, self).dump(indent, fp)
for i in self.lst:
i.dump(indent + 1, fp)
@@ -311,7 +311,7 @@ class FNot(_Token):
self.itm = itm[0]
def dump(self, indent=0, fp=sys.stdout):
- print >> fp, "\t" * indent, self.__class__.__name__
+ super(FNot, self).dump(indent, fp)
self.itm.dump(indent + 1, fp)
def __call__(self, f):
diff --git a/mitmproxy/protocol/http2.py b/mitmproxy/protocol/http2.py
index aa0d7825..1773729d 100644
--- a/mitmproxy/protocol/http2.py
+++ b/mitmproxy/protocol/http2.py
@@ -5,6 +5,7 @@ import time
import Queue
import h2
+import six
from h2.connection import H2Connection
from netlib.tcp import ssl_read_select
@@ -172,7 +173,7 @@ class Http2Layer(Layer):
if other_stream_id is not None:
other_conn.h2.safe_reset_stream(other_stream_id, event.error_code)
elif isinstance(event, h2.events.RemoteSettingsChanged):
- new_settings = dict([(id, cs.new_value) for (id, cs) in event.changed_settings.iteritems()])
+ new_settings = dict([(id, cs.new_value) for (id, cs) in six.iteritems(event.changed_settings)])
other_conn.h2.safe_update_settings(new_settings)
elif isinstance(event, h2.events.ConnectionTerminated):
# Do not immediately terminate the other connection.
diff --git a/mitmproxy/stateobject.py b/mitmproxy/stateobject.py
index a4a1ffda..fff6e116 100644
--- a/mitmproxy/stateobject.py
+++ b/mitmproxy/stateobject.py
@@ -1,4 +1,7 @@
from __future__ import absolute_import
+
+import six
+
from netlib.utils import Serializable
@@ -23,7 +26,7 @@ class StateObject(Serializable):
Retrieve object state.
"""
state = {}
- for attr, cls in self._stateobject_attributes.iteritems():
+ for attr, cls in six.iteritems(self._stateobject_attributes):
val = getattr(self, attr)
if hasattr(val, "get_state"):
state[attr] = val.get_state()
@@ -36,7 +39,7 @@ class StateObject(Serializable):
Load object state from data returned by a get_state call.
"""
state = state.copy()
- for attr, cls in self._stateobject_attributes.iteritems():
+ for attr, cls in six.iteritems(self._stateobject_attributes):
if state.get(attr) is None:
setattr(self, attr, state.pop(attr))
else:
diff --git a/mitmproxy/tnetstring.py b/mitmproxy/tnetstring.py
index c5c185c6..d9d61258 100644
--- a/mitmproxy/tnetstring.py
+++ b/mitmproxy/tnetstring.py
@@ -67,6 +67,7 @@ like so::
u'\u03b1'
"""
+import six
__ver_major__ = 0
__ver_minor__ = 2
@@ -172,7 +173,7 @@ def _rdumpq(q, size, value, encoding=None):
if isinstance(value, dict):
write("}")
init_size = size = size + 1
- for (k, v) in value.iteritems():
+ for (k, v) in six.iteritems(value):
size = _rdumpq(q, size, v, encoding)
size = _rdumpq(q, size, k, encoding)
span = str(size - init_size)
@@ -236,7 +237,7 @@ def _gdumps(value, encoding):
yield "]"
elif isinstance(value, (dict,)):
sub = []
- for (k, v) in value.iteritems():
+ for (k, v) in six.iteritems(value):
sub.extend(_gdumps(k))
sub.extend(_gdumps(v))
sub = "".join(sub)
diff --git a/mitmproxy/web/app.py b/mitmproxy/web/app.py
index 63b7bf1a..2cac2ab9 100644
--- a/mitmproxy/web/app.py
+++ b/mitmproxy/web/app.py
@@ -1,5 +1,7 @@
import os.path
import re
+
+import six
import tornado.web
import tornado.websocket
import logging
@@ -185,11 +187,11 @@ class FlowHandler(RequestHandler):
def put(self, flow_id):
flow = self.flow
flow.backup()
- for a, b in self.json.iteritems():
+ for a, b in six.iteritems(self.json):
if a == "request":
request = flow.request
- for k, v in b.iteritems():
+ for k, v in six.iteritems(b):
if k in ["method", "scheme", "host", "path", "http_version"]:
setattr(request, k, str(v))
elif k == "port":
@@ -201,7 +203,7 @@ class FlowHandler(RequestHandler):
elif a == "response":
response = flow.response
- for k, v in b.iteritems():
+ for k, v in six.iteritems(b):
if k == "msg":
response.msg = str(v)
elif k == "code":
@@ -293,7 +295,7 @@ class Settings(RequestHandler):
def put(self):
update = {}
- for k, v in self.json.iteritems():
+ for k, v in six.iteritems(self.json):
if k == "intercept":
self.state.set_intercept(v)
update[k] = v
diff --git a/pathod/app.py b/pathod/app.py
index c6b7eabc..aa00ed69 100644
--- a/pathod/app.py
+++ b/pathod/app.py
@@ -1,6 +1,6 @@
import logging
import pprint
-import cStringIO
+from six.moves import cStringIO as StringIO
import copy
from flask import Flask, jsonify, render_template, request, abort, make_response
from . import version, language, utils
@@ -145,7 +145,7 @@ def make_app(noapi, debug):
args["marked"] = v.marked()
return render(template, False, **args)
- s = cStringIO.StringIO()
+ s = StringIO()
settings = copy.copy(app.config["pathod"].settings)
settings.request_host = EXAMPLE_HOST
diff --git a/pathod/test.py b/pathod/test.py
index 33a6b763..a2552376 100644
--- a/pathod/test.py
+++ b/pathod/test.py
@@ -1,4 +1,4 @@
-import cStringIO
+from six.moves import cStringIO as StringIO
import threading
import Queue
@@ -14,7 +14,7 @@ class Daemon:
def __init__(self, ssl=None, **daemonargs):
self.q = Queue.Queue()
- self.logfp = cStringIO.StringIO()
+ self.logfp = StringIO()
daemonargs["logfp"] = self.logfp
self.thread = _PaThread(self.IFACE, self.q, ssl, daemonargs)
self.thread.start()
diff --git a/test/mitmproxy/test_dump.py b/test/mitmproxy/test_dump.py
index 3588a73f..2228a732 100644
--- a/test/mitmproxy/test_dump.py
+++ b/test/mitmproxy/test_dump.py
@@ -1,5 +1,5 @@
import os
-from cStringIO import StringIO
+from six.moves import cStringIO as StringIO
from mitmproxy.exceptions import ContentViewException
from mitmproxy.models import HTTPResponse
diff --git a/test/mitmproxy/test_filt.py b/test/mitmproxy/test_filt.py
index 0ea635e7..842cbd44 100644
--- a/test/mitmproxy/test_filt.py
+++ b/test/mitmproxy/test_filt.py
@@ -1,4 +1,4 @@
-import cStringIO
+from six.moves import cStringIO as StringIO
from mitmproxy import filt
from mitmproxy.models import Error
from mitmproxy.models import http
@@ -9,7 +9,7 @@ from . import tutils
class TestParsing:
def _dump(self, x):
- c = cStringIO.StringIO()
+ c = StringIO()
x.dump(fp=c)
assert c.getvalue()
diff --git a/test/mitmproxy/test_flow.py b/test/mitmproxy/test_flow.py
index 13ced265..0d9a2e8d 100644
--- a/test/mitmproxy/test_flow.py
+++ b/test/mitmproxy/test_flow.py
@@ -1,7 +1,7 @@
import Queue
import time
import os.path
-from cStringIO import StringIO
+from six.moves import cStringIO as StringIO
import email.utils
import mock
diff --git a/test/pathod/test_language_actions.py b/test/pathod/test_language_actions.py
index 1c404714..c2e15189 100644
--- a/test/pathod/test_language_actions.py
+++ b/test/pathod/test_language_actions.py
@@ -1,4 +1,4 @@
-import cStringIO
+from six.moves import cStringIO as StringIO
from pathod.language import actions
from pathod import language
@@ -61,7 +61,7 @@ class TestInject:
assert v.offset == "r"
def test_serve(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:i0,'foo'").next()
assert language.serve(r, s, {})
diff --git a/test/pathod/test_language_http.py b/test/pathod/test_language_http.py
index fd60c9fd..d1870a63 100644
--- a/test/pathod/test_language_http.py
+++ b/test/pathod/test_language_http.py
@@ -1,5 +1,4 @@
-import cStringIO
-
+from six.moves import cStringIO as StringIO
from pathod import language
from pathod.language import http, base
import tutils
@@ -10,7 +9,7 @@ def parse_request(s):
def test_make_error_response():
- d = cStringIO.StringIO()
+ d = StringIO()
s = http.make_error_response("foo")
language.serve(s, d, {})
@@ -76,7 +75,7 @@ class TestRequest:
assert r[0].values({})
def test_render(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_request("GET:'/foo'")
assert language.serve(
r,
@@ -163,7 +162,7 @@ class TestResponse:
assert "OK" in [i[:] for i in r.preamble({})]
def test_render(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:m'msg'").next()
assert language.serve(r, s, {})
@@ -173,13 +172,13 @@ class TestResponse:
assert "p0" not in s.spec()
def test_raw(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:b'foo'").next()
language.serve(r, s, {})
v = s.getvalue()
assert "Content-Length" in v
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:b'foo':r").next()
language.serve(r, s, {})
v = s.getvalue()
@@ -187,7 +186,7 @@ class TestResponse:
def test_length(self):
def testlen(x):
- s = cStringIO.StringIO()
+ s = StringIO()
x = x.next()
language.serve(x, s, language.Settings())
assert x.length(language.Settings()) == len(s.getvalue())
@@ -198,7 +197,7 @@ class TestResponse:
def test_maximum_length(self):
def testlen(x):
x = x.next()
- s = cStringIO.StringIO()
+ s = StringIO()
m = x.maximum_length({})
language.serve(x, s, {})
assert m >= len(s.getvalue())
diff --git a/test/pathod/test_language_http2.py b/test/pathod/test_language_http2.py
index 8e9f188c..abfe4606 100644
--- a/test/pathod/test_language_http2.py
+++ b/test/pathod/test_language_http2.py
@@ -1,4 +1,4 @@
-import cStringIO
+from six.moves import cStringIO as StringIO
import netlib
from netlib import tcp
@@ -25,7 +25,7 @@ def default_settings():
def test_make_error_response():
- d = cStringIO.StringIO()
+ d = StringIO()
s = http2.make_error_response("foo", "bar")
language.serve(s, d, default_settings())
@@ -84,7 +84,7 @@ class TestRequest:
assert r[1].method.string() == "GET"
def test_render_simple(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_request("GET:'/foo'")
assert language.serve(
r,
@@ -126,7 +126,7 @@ class TestRequest:
assert r.headers[0].values(default_settings()) == ("user-agent", user_agents.get_by_shortcut('a')[2])
def test_render_with_headers(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_request('GET:/foo:h"foo"="bar"')
assert language.serve(
r,
@@ -143,7 +143,7 @@ class TestRequest:
def test_render_with_body(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_request("GET:'/foo':bfoobar")
assert language.serve(
r,
@@ -200,7 +200,7 @@ class TestResponse:
assert r.body.string() == "foobar"
def test_render_simple(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_response('200')
assert language.serve(
r,
@@ -209,7 +209,7 @@ class TestResponse:
)
def test_render_with_headers(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_response('200:h"foo"="bar"')
assert language.serve(
r,
@@ -218,7 +218,7 @@ class TestResponse:
)
def test_render_with_body(self):
- s = cStringIO.StringIO()
+ s = StringIO()
r = parse_response('200:bfoobar')
assert language.serve(
r,
diff --git a/test/pathod/test_language_writer.py b/test/pathod/test_language_writer.py
index 1a4ac954..0a85524f 100644
--- a/test/pathod/test_language_writer.py
+++ b/test/pathod/test_language_writer.py
@@ -1,5 +1,4 @@
-import cStringIO
-
+from six.moves import cStringIO as StringIO
from pathod import language
from pathod.language import writer
@@ -7,12 +6,12 @@ from pathod.language import writer
def test_send_chunk():
v = "foobarfoobar"
for bs in range(1, len(v) + 2):
- s = cStringIO.StringIO()
+ s = StringIO()
writer.send_chunk(s, v, bs, 0, len(v))
assert s.getvalue() == v
for start in range(len(v)):
for end in range(len(v)):
- s = cStringIO.StringIO()
+ s = StringIO()
writer.send_chunk(s, v, bs, start, end)
assert s.getvalue() == v[start:end]
@@ -20,21 +19,21 @@ def test_send_chunk():
def test_write_values_inject():
tst = "foo"
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(s, [tst], [(0, "inject", "aaa")], blocksize=5)
assert s.getvalue() == "aaafoo"
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(s, [tst], [(1, "inject", "aaa")], blocksize=5)
assert s.getvalue() == "faaaoo"
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(s, [tst], [(1, "inject", "aaa")], blocksize=5)
assert s.getvalue() == "faaaoo"
def test_write_values_disconnects():
- s = cStringIO.StringIO()
+ s = StringIO()
tst = "foo" * 100
writer.write_values(s, [tst], [(0, "disconnect")], blocksize=5)
assert not s.getvalue()
@@ -42,13 +41,13 @@ def test_write_values_disconnects():
def test_write_values():
tst = "foobarvoing"
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(s, [tst], [])
assert s.getvalue() == tst
for bs in range(1, len(tst) + 2):
for off in range(len(tst)):
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(
s, [tst], [(off, "disconnect")], blocksize=bs
)
@@ -58,34 +57,34 @@ def test_write_values():
def test_write_values_pauses():
tst = "".join(str(i) for i in range(10))
for i in range(2, 10):
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(
s, [tst], [(2, "pause", 0), (1, "pause", 0)], blocksize=i
)
assert s.getvalue() == tst
for i in range(2, 10):
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(s, [tst], [(1, "pause", 0)], blocksize=i)
assert s.getvalue() == tst
tst = ["".join(str(i) for i in range(10))] * 5
for i in range(2, 10):
- s = cStringIO.StringIO()
+ s = StringIO()
writer.write_values(s, tst[:], [(1, "pause", 0)], blocksize=i)
assert s.getvalue() == "".join(tst)
def test_write_values_after():
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:da").next()
language.serve(r, s, {})
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:pa,0").next()
language.serve(r, s, {})
- s = cStringIO.StringIO()
+ s = StringIO()
r = language.parse_pathod("400:ia,'xx'").next()
language.serve(r, s, {})
assert s.getvalue().endswith('xx')
diff --git a/test/pathod/test_pathoc.py b/test/pathod/test_pathoc.py
index 280a9141..8d0f92ac 100644
--- a/test/pathod/test_pathoc.py
+++ b/test/pathod/test_pathoc.py
@@ -1,5 +1,5 @@
import json
-import cStringIO
+from six.moves import cStringIO as StringIO
import re
import OpenSSL
import pytest
@@ -64,7 +64,7 @@ class _TestDaemon:
ignoretimeout=None,
showsummary=True
):
- s = cStringIO.StringIO()
+ s = StringIO()
c = pathoc.Pathoc(
("127.0.0.1", self.d.port),
ssl=self.ssl,
@@ -129,7 +129,7 @@ class TestDaemonSSL(_TestDaemon):
assert d["log"][0]["request"]["clientcert"]["keyinfo"]
def test_http2_without_ssl(self):
- fp = cStringIO.StringIO()
+ fp = StringIO()
c = pathoc.Pathoc(
("127.0.0.1", self.d.port),
use_http2=True,
@@ -227,15 +227,15 @@ class TestDaemon(_TestDaemon):
def test_connect_fail(self):
to = ("foobar", 80)
c = pathoc.Pathoc(("127.0.0.1", self.d.port), fp=None)
- c.rfile, c.wfile = cStringIO.StringIO(), cStringIO.StringIO()
+ c.rfile, c.wfile = StringIO(), StringIO()
with raises("connect failed"):
c.http_connect(to)
- c.rfile = cStringIO.StringIO(
+ c.rfile = StringIO(
"HTTP/1.1 500 OK\r\n"
)
with raises("connect failed"):
c.http_connect(to)
- c.rfile = cStringIO.StringIO(
+ c.rfile = StringIO(
"HTTP/1.1 200 OK\r\n"
)
c.http_connect(to)
@@ -243,7 +243,7 @@ class TestDaemon(_TestDaemon):
def test_socks_connect(self):
to = ("foobar", 80)
c = pathoc.Pathoc(("127.0.0.1", self.d.port), fp=None)
- c.rfile, c.wfile = tutils.treader(""), cStringIO.StringIO()
+ c.rfile, c.wfile = tutils.treader(""), StringIO()
tutils.raises(pathoc.PathocError, c.socks_connect, to)
c.rfile = tutils.treader(
diff --git a/test/pathod/test_pathoc_cmdline.py b/test/pathod/test_pathoc_cmdline.py
index ab1438d1..f527e861 100644
--- a/test/pathod/test_pathoc_cmdline.py
+++ b/test/pathod/test_pathoc_cmdline.py
@@ -1,13 +1,13 @@
from pathod import pathoc_cmdline as cmdline
import tutils
-import cStringIO
+from six.moves import cStringIO as StringIO
import mock
@mock.patch("argparse.ArgumentParser.error")
def test_pathoc(perror):
assert cmdline.args_pathoc(["pathoc", "foo.com", "get:/"])
- s = cStringIO.StringIO()
+ s = StringIO()
with tutils.raises(SystemExit):
cmdline.args_pathoc(["pathoc", "--show-uas"], s, s)
diff --git a/test/pathod/test_pathod.py b/test/pathod/test_pathod.py
index f8eb55f9..c0039b73 100644
--- a/test/pathod/test_pathod.py
+++ b/test/pathod/test_pathod.py
@@ -1,6 +1,4 @@
-import sys
-import cStringIO
-import OpenSSL
+from six.moves import cStringIO as StringIO
import pytest
from pathod import pathod, version
@@ -12,7 +10,7 @@ import tutils
class TestPathod(object):
def test_logging(self):
- s = cStringIO.StringIO()
+ s = StringIO()
p = pathod.Pathod(("127.0.0.1", 0), logfp=s)
assert len(p.get_log()) == 0
id = p.add_log(dict(s="foo"))
diff --git a/test/pathod/test_pathod_cmdline.py b/test/pathod/test_pathod_cmdline.py
index d156bf50..3c0918ef 100644
--- a/test/pathod/test_pathod_cmdline.py
+++ b/test/pathod/test_pathod_cmdline.py
@@ -1,6 +1,5 @@
from pathod import pathod_cmdline as cmdline
import tutils
-import cStringIO
import mock
diff --git a/test/pathod/tutils.py b/test/pathod/tutils.py
index abe7a59b..9739afde 100644
--- a/test/pathod/tutils.py
+++ b/test/pathod/tutils.py
@@ -1,9 +1,7 @@
import tempfile
-import os
import re
import shutil
-import cStringIO
-from contextlib import contextmanager
+from six.moves import cStringIO as StringIO
import netlib
from pathod import utils, test, pathoc, pathod, language
@@ -14,7 +12,7 @@ def treader(bytes):
"""
Construct a tcp.Read object from bytes.
"""
- fp = cStringIO.StringIO(bytes)
+ fp = StringIO(bytes)
return tcp.Reader(fp)
@@ -93,7 +91,7 @@ class DaemonTests(object):
"""
if ssl is None:
ssl = self.ssl
- logfp = cStringIO.StringIO()
+ logfp = StringIO()
c = pathoc.Pathoc(
("localhost", self.d.port),
ssl=ssl,
@@ -123,6 +121,6 @@ test_data = utils.Data(__name__)
def render(r, settings=language.Settings()):
r = r.resolve(settings)
- s = cStringIO.StringIO()
+ s = StringIO()
assert language.serve(r, s, settings)
return s.getvalue()