[tor-commits] [stem/master] Python3 type issue for tail()
atagar at torproject.org
atagar at torproject.org
Thu Jun 11 16:56:07 UTC 2015
commit 80df42fe0bb0e2386cb0b09601b6a122af44c4e3
Author: Damian Johnson <atagar at torproject.org>
Date: Thu Jun 11 09:52:45 2015 -0700
Python3 type issue for tail()
Last change was a step in the right direction for tail() to be python3
compatible, but neglected to normalize the strings a couple spots.
---
stem/util/system.py | 6 +++---
test/unit/util/system.py | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/stem/util/system.py b/stem/util/system.py
index 4c5349b..eb7b9ad 100644
--- a/stem/util/system.py
+++ b/stem/util/system.py
@@ -777,13 +777,13 @@ def tail(target, lines = None):
target.seek(0, 2) # go to the end of the file
block_end_byte = target.tell()
block_number = -1
- content = ''
+ content = b''
while (lines is None or lines > 0) and block_end_byte > 0:
if (block_end_byte - BLOCK_SIZE > 0):
# read the last block we haven't yet read
target.seek(block_number * BLOCK_SIZE, 2)
- content, completed_lines = (target.read(BLOCK_SIZE) + content).split('\n', 1)
+ content, completed_lines = (target.read(BLOCK_SIZE) + content).split(b'\n', 1)
else:
# reached the start of the file, just read what's left
target.seek(0, 0)
@@ -794,7 +794,7 @@ def tail(target, lines = None):
if lines is not None:
lines -= 1
- yield line
+ yield stem.util.str_tools._to_unicode(line)
block_end_byte -= BLOCK_SIZE
block_number -= 1
diff --git a/test/unit/util/system.py b/test/unit/util/system.py
index dd1e30f..242a7fb 100644
--- a/test/unit/util/system.py
+++ b/test/unit/util/system.py
@@ -382,7 +382,7 @@ class TestSystem(unittest.TestCase):
# by file handle
- with open(path) as riddle_file:
+ with open(path, 'rb') as riddle_file:
self.assertEqual([' both the wicked and sweet.'], list(system.tail(riddle_file, 1)))
self.assertEqual([], list(system.tail(path, 0)))
More information about the tor-commits
mailing list