X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/13e7ad8135a0bafc3d1d225ff7e4c62de4f3b43f..b352c3862814fe0bdd2b5a40b1dc8171474dbb48:/sdk/python/arvados/_normalize_stream.py?ds=sidebyside diff --git a/sdk/python/arvados/_normalize_stream.py b/sdk/python/arvados/_normalize_stream.py index 9caef764ed..c72b82be1c 100644 --- a/sdk/python/arvados/_normalize_stream.py +++ b/sdk/python/arvados/_normalize_stream.py @@ -8,7 +8,7 @@ from . import config import re def escape(path): - return re.sub('\\\\([0-3][0-7][0-7])', lambda m: '\\134'+m.group(1), path).replace(' ', '\\040') + return re.sub(r'[\\:\000-\040]', lambda m: "\\%03o" % ord(m.group(0)), path) def normalize_stream(stream_name, stream): """Take manifest stream and return a list of tokens in normalized format. @@ -53,13 +53,13 @@ def normalize_stream(stream_name, stream): if streamoffset == current_span[1]: current_span[1] += segment.segment_size else: - stream_tokens.append("{0}:{1}:{2}".format(current_span[0], current_span[1] - current_span[0], fout)) + stream_tokens.append(u"{0}:{1}:{2}".format(current_span[0], current_span[1] - current_span[0], fout)) current_span = [streamoffset, streamoffset + segment.segment_size] if current_span is not None: - stream_tokens.append("{0}:{1}:{2}".format(current_span[0], current_span[1] - current_span[0], fout)) + stream_tokens.append(u"{0}:{1}:{2}".format(current_span[0], current_span[1] - current_span[0], fout)) if not stream[streamfile]: - stream_tokens.append("0:0:{0}".format(fout)) + stream_tokens.append(u"0:0:{0}".format(fout)) return stream_tokens