From e0947a04ebf44879ef85a7849888c803100aae36 Mon Sep 17 00:00:00 2001 From: Mathias Fussenegger Date: Sun, 13 Dec 2015 21:50:09 +0100 Subject: [PATCH] don't fail on UnicodeDecodeError in buildout script detection This fixes #650 --- jedi/evaluate/sys_path.py | 4 ++-- test/test_evaluate/buildout_project/bin/binary_file | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 test/test_evaluate/buildout_project/bin/binary_file diff --git a/jedi/evaluate/sys_path.py b/jedi/evaluate/sys_path.py index 7cfbd57b..306fb16e 100644 --- a/jedi/evaluate/sys_path.py +++ b/jedi/evaluate/sys_path.py @@ -239,8 +239,8 @@ def _get_buildout_scripts(module_path): firstline = f.readline() if firstline.startswith('#!') and 'python' in firstline: extra_module_paths.append(filepath) - except IOError as e: - # either permission error or race cond. because file got deleted + except (UnicodeDecodeError, IOError) as e: + # Probably a binary file; permission error or race cond. because file got deleted # ignore debug.warning(unicode(e)) continue diff --git a/test/test_evaluate/buildout_project/bin/binary_file b/test/test_evaluate/buildout_project/bin/binary_file new file mode 100644 index 00000000..f1ad7558 --- /dev/null +++ b/test/test_evaluate/buildout_project/bin/binary_file @@ -0,0 +1 @@ +‰PNG