View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000007 | file | General | public | 2018-06-22 21:54 | 2018-08-01 09:03 |
Reporter | bodo | Assigned To | christos | ||
Priority | low | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Summary | 0000007: python function magic.detect_from_filename does not handle non-existent file | ||||
Description | The python api provides the function magic.detect_from_filename. When the file given as argument does not exist, it throws the exception ValueError: not enough values to unpack (expected 2, got 1) which does not correctly represent the failure condition. detect_from_filename calls _create_filemagic with the return value of mime_magic.file. If the file does not exist, mime_magic.file returns "cannot open `foobar' (No such file or directory)". _create_filemagic then goes on to split that value into mime_type and mime_encoding. But as the error message does not contain a semicolon, this leads to the above exception. | ||||
Steps To Reproduce | Do not have the file 'foobar' in the current directory and execute the following in the python intepreter: >>> import magic >>> magic.detect_from_filename('foobar') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.5/site-packages/magic.py", line 264, in detect_from_filename none_magic.file(filename)) File "/usr/lib64/python3.5/site-packages/magic.py", line 251, in _create_filemagic mime_type, mime_encoding = mime_detected.split('; ') ValueError: not enough values to unpack (expected 2, got 1) | ||||
Additional Information | versions: - sys-apps/file-5.32 on gentoo linux with USE="+python" - python-3.5.5 | ||||
Tags | No tags attached. | ||||
|
Committed a change to raise the actual error as a ValueError |
|
Works fine in python2 now. Python3 gives: TabError: inconsistent use of tabs and spaces in indentation Please replace your tabs with 8 spaces. |
|
Fixed, thanks! |
|
Should be fixed in HEAD: $ python Python 2.7.13 (default, Feb 13 2017, 09:50:26) [GCC 5.4.0] on netbsd7 Type "help", "copyright", "credits" or "license" for more information. >>> import magic >>> magic.detect_from_filename('foobar') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "magic.py", line 267, in detect_from_filename none_magic.file(filename)) File "magic.py", line 254, in _create_filemagic raise ValueError(mime_detected) ValueError: cannot open `foobar' (No such file or directory) >>> |
|
feedback timeout |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-06-22 21:54 | bodo | New Issue | |
2018-06-23 14:56 | christos | Assigned To | => christos |
2018-06-23 14:56 | christos | Status | new => assigned |
2018-06-23 14:58 | christos | Status | assigned => feedback |
2018-06-23 14:58 | christos | Note Added: 0000002 | |
2018-06-24 14:11 | bodo | Note Added: 0000008 | |
2018-06-24 14:11 | bodo | Status | feedback => assigned |
2018-06-24 15:51 | christos | Note Added: 0000009 | |
2018-07-25 06:07 | christos | Assigned To | christos => |
2018-07-25 06:08 | christos | Assigned To | => christos |
2018-07-25 06:08 | christos | Status | assigned => feedback |
2018-07-25 06:08 | christos | Note Added: 0000012 | |
2018-08-01 09:03 | christos | Status | feedback => resolved |
2018-08-01 09:03 | christos | Resolution | open => fixed |
2018-08-01 09:03 | christos | Note Added: 0000024 |