[tor-commits] [stem/master] Newline opt-out for windows users
atagar at torproject.org
atagar at torproject.org
Wed Sep 23 15:45:13 UTC 2015
commit 258e66f8d9c33dd458612aa61cdabb0bb4c629ae
Author: Damian Johnson <atagar at torproject.org>
Date: Wed Sep 23 08:42:43 2015 -0700
Newline opt-out for windows users
On Windows we should respect 'normalize_newlines = False' by omitting the
normalization. Also fixing this addition for python3.
---
stem/descriptor/__init__.py | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/stem/descriptor/__init__.py b/stem/descriptor/__init__.py
index f829239..678325a 100644
--- a/stem/descriptor/__init__.py
+++ b/stem/descriptor/__init__.py
@@ -85,7 +85,7 @@ DocumentHandler = stem.util.enum.UppercaseEnum(
)
-def parse_file(descriptor_file, descriptor_type = None, validate = False, document_handler = DocumentHandler.ENTRIES, normalize_newlines = False, **kwargs):
+def parse_file(descriptor_file, descriptor_type = None, validate = False, document_handler = DocumentHandler.ENTRIES, normalize_newlines = None, **kwargs):
"""
Simple function to read the descriptor contents from a file, providing an
iterator for its :class:`~stem.descriptor.__init__.Descriptor` contents.
@@ -206,7 +206,8 @@ def parse_file(descriptor_file, descriptor_type = None, validate = False, docume
else:
# Cached descriptor handling. These contain multiple descriptors per file.
- normalize_newlines |= stem.util.system.is_windows()
+ if normalize_newlines is None and stem.util.system.is_windows():
+ normalize_newlines = True
if filename == 'cached-descriptors' or filename == 'cached-descriptors.new':
file_parser = lambda f: stem.descriptor.server_descriptor._parse_file(f, validate = validate, **kwargs)
@@ -640,13 +641,13 @@ class NewlineNormalizer(object):
self.name = getattr(wrapped_file, 'name', None)
def read(self, *args):
- return self._wrapped_file.read(*args).replace('\r\n', '\n')
+ return self._wrapped_file.read(*args).replace(b'\r\n', b'\n')
def readline(self, *args):
- return self._wrapped_file.readline(*args).replace('\r\n', '\n')
+ return self._wrapped_file.readline(*args).replace(b'\r\n', b'\n')
def readlines(self, *args):
- return [line.rstrip('\r') for line in self._wrapped_file.readlines(*args)]
+ return [line.rstrip(b'\r') for line in self._wrapped_file.readlines(*args)]
def seek(self, *args):
return self._wrapped_file.seek(*args)
More information about the tor-commits
mailing list