From 83a4a2a389f0bc0eee32c578dd7bda64c4f3e18b Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Tue, 15 Mar 2011 19:18:12 -0400 Subject: A file opened in 'b' mode needs bytes, not strings. Try to do this in a clean-ish way... --- coverage/backward.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'coverage/backward.py') diff --git a/coverage/backward.py b/coverage/backward.py index c363f21f..af6da629 100644 --- a/coverage/backward.py +++ b/coverage/backward.py @@ -81,3 +81,19 @@ except AttributeError: """Open a source file the best way.""" return open(fname, "rU") +# Python 3.x is picky about bytes and strings, so provide methods to +# get them right, and make them no-ops in 2.x +if sys.version_info >= (3, 0): + def to_bytes(s): + return s.encode('utf8') + + def to_string(b): + return b.decode('utf8') + +else: + def to_bytes(s): + return s + + def to_string(b): + return b + -- cgit v1.2.1