Updated omnivore loader for new API

This commit is contained in:
Rob McMullen 2019-02-10 09:02:12 -08:00
parent b8a858ee6d
commit 9f5addf645

View File

@ -4,18 +4,24 @@ import logging
log = logging.getLogger(__name__)
def identify_mime(header):
def identify_mime(header, fh):
mime_type = None
try:
parser, mime_type = find_diskimage_from_data(header, True)
except (errors.UnsupportedContainer, errors.UnsupportedDiskImage, IOError) as e:
print(f"error in atrcopy parser: {e}")
fh.seek(0)
data = fh.read()
except IOError as e:
log.debug(f"atrcopy loader: error reading entire file: {e}")
else:
print(f"{parser.image}: {mime_type}")
try:
parser, mime_type = find_diskimage_from_data(data, True)
except (errors.UnsupportedContainer, errors.UnsupportedDiskImage, IOError) as e:
print(f"error in atrcopy parser: {e}")
else:
print(f"{parser.image}: {mime_type}")
if mime_type:
log.debug(f"atrcopy loader: identified {mime_type}")
return dict(mime=mime_type, ext="")
else:
log.debug(f"atrcopy loader: unidentified")
return None
if mime_type:
log.debug(f"atrcopy loader: identified {mime_type}")
return dict(mime=mime_type, ext="", atrcopy_parser=parser)
else:
log.debug(f"atrcopy loader: not recognized")
return None