You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2021/11/09 19:51:18 UTC

[GitHub] [beam] tvalentyn commented on a change in pull request #15901: BEAM-13189 Python TextIO: add escapechar feature.

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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org