Added entry point for omnivore framework loader
This commit is contained in:
parent
0abcf2d929
commit
b8a858ee6d
|
@ -54,14 +54,8 @@ def process(image, dirent, options):
|
|||
print(dirent)
|
||||
|
||||
|
||||
def find_diskimage(filename, verbose=False):
|
||||
if filename == ".":
|
||||
parser = LocalFilesystem()
|
||||
else:
|
||||
with open(filename, "rb") as fh:
|
||||
if verbose:
|
||||
print("Loading file %s" % filename)
|
||||
data = to_numpy(fh.read())
|
||||
def find_diskimage_from_data(data, verbose=False):
|
||||
data = to_numpy(data)
|
||||
parser = None
|
||||
container = guess_container(data, verbose)
|
||||
if container is not None:
|
||||
|
@ -83,7 +77,18 @@ def find_diskimage(filename, verbose=False):
|
|||
break
|
||||
if parser is None:
|
||||
raise errors.UnsupportedDiskImage("Unknown disk image type")
|
||||
return parser, mime
|
||||
|
||||
|
||||
def find_diskimage(filename, verbose=False):
|
||||
if filename == ".":
|
||||
parser = LocalFilesystem()
|
||||
else:
|
||||
with open(filename, "rb") as fh:
|
||||
if verbose:
|
||||
print("Loading file %s" % filename)
|
||||
data = to_numpy(fh.read())
|
||||
parser, mime = find_diskimage_from_data(data, verbose)
|
||||
parser.image.filename = filename
|
||||
parser.image.ext = ""
|
||||
return parser
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
from . import find_diskimage_from_data, errors
|
||||
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def identify_mime(header):
|
||||
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}")
|
||||
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
|
1
setup.py
1
setup.py
|
@ -23,6 +23,7 @@ setup(name="atrcopy",
|
|||
packages=["atrcopy"],
|
||||
include_package_data=True,
|
||||
scripts=scripts,
|
||||
entry_points={"omnivore_framework.loaders": 'atrcopy = atrcopy.omnivore_framework_loader'},
|
||||
description="Utility to manage file systems on Atari 8-bit (DOS 2) and Apple ][ (DOS 3.3) disk images.",
|
||||
long_description=long_description,
|
||||
license="GPL",
|
||||
|
|
Loading…
Reference in New Issue