diff kitten: Fix error when only RHS file is a binary file

Fixes #752
This commit is contained in:
Kovid Goyal
2018-07-28 13:58:27 +05:30
parent 3df78de3f8
commit 8a812c9d02
3 changed files with 7 additions and 3 deletions

View File

@@ -42,7 +42,7 @@ def generate_diff(collection, context):
for path, item_type, changed_path in collection:
if item_type == 'diff':
is_binary = isinstance(data_for_path(path), bytes)
is_binary = isinstance(data_for_path(path), bytes) or isinstance(data_for_path(changed_path), bytes)
if not is_binary:
d.add_diff(path, changed_path)

View File

@@ -452,8 +452,8 @@ def render_diff(collection, diff_map, args, columns, image_manager):
for i, (path, item_type, other_path) in enumerate(collection):
item_ref = Reference(path)
is_binary = isinstance(data_for_path(path), bytes)
is_img = is_binary and is_image(path) and images_supported()
is_binary = isinstance(data_for_path(path), bytes) or (other_path and isinstance(data_for_path(other_path), bytes))
is_img = is_binary and (is_image(path) or is_image(other_path)) and images_supported()
yield from yield_lines_from(title_lines(path, other_path, args, columns, margin_size), item_ref, False)
if item_type == 'diff':
if is_binary: