tvalentyn commented on a change in pull request #15901:
URL: https://github.com/apache/beam/pull/15901#discussion_r745961276
##########
File path: sdks/python/apache_beam/io/textio.py
##########
@@ -362,6 +391,15 @@ def _is_self_overlapping(delimiter):
return True
return False
+ def _is_escaped(self, read_buffer, position):
+ # Returns True if byte at position is preceded with an odd number
+ # of escapechar bytes or False if preceded by 0 or even escapes
+ # (the even number means that all the escapes are escaped themselves).
+ for current_pos in reversed(range(-1, position)):
+ if read_buffer.data[current_pos:current_pos + 1] != self._escapechar:
Review comment:
This logic is a little tricky to follow:
1. why do we go to -1 ?
2. can we compare a single byte at a position instead of a 1-character range?
why not to count `preceding_escape_chars` in a loop and then `return
preceding_escape_chars % 2 == 1` ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]