Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _parse(self, diff, encoding):
current_file = None
patch_info = None
diff = enumerate(diff, 1)
for unused_diff_line_no, line in diff:
if encoding is not None:
line = line.decode(encoding)
# check for a git rename, source file
is_rename_source_filename = RE_RENAME_SOURCE_FILENAME.match(line)
if is_rename_source_filename:
# prefix with 'a/' to match expected git source format
source_file = (
'a/' + is_rename_source_filename.group('filename'))
# keep line as patch_info
patch_info.append(line)
# reset current file
current_file = None
continue
# check for a git rename, target file
is_rename_target_filename = RE_RENAME_TARGET_FILENAME.match(line)
if is_rename_target_filename:
if current_file is not None:
raise UnidiffParseError('Target without source: %s' % line)
# prefix with 'b/' to match expected git source format