diff options
Diffstat (limited to 'identify/identify.py')
-rw-r--r-- | identify/identify.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/identify/identify.py b/identify/identify.py index 51c1288..52d2c2d 100644 --- a/identify/identify.py +++ b/identify/identify.py @@ -1,3 +1,4 @@ +import errno import os.path import re import shlex @@ -205,8 +206,14 @@ def parse_shebang_from_file(path: str) -> Tuple[str, ...]: if not os.access(path, os.X_OK): return () - with open(path, 'rb') as f: - return parse_shebang(f) + try: + with open(path, 'rb') as f: + return parse_shebang(f) + except OSError as e: + if e.errno == errno.EINVAL: + return () + else: + raise COPYRIGHT_RE = re.compile(r'^\s*(Copyright|\(C\)) .*$', re.I | re.MULTILINE) |