On a Linux/Ubuntu platform, if file is a symbolic link, magic.from_file(file) will throw a FileNotFoundError, instead of detecting that file is a link (inode/symlink).
So far, the only workaround I found is to embed the code containing the magic.from_file(file) line into a try/except block, and catch the exception.