mirror of
https://github.com/robmcmullen/atrcopy.git
synced 2024-06-10 06:29:34 +00:00
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)
|
print(dirent)
|
||||||
|
|
||||||
|
|
||||||
def find_diskimage(filename, verbose=False):
|
def find_diskimage_from_data(data, verbose=False):
|
||||||
if filename == ".":
|
data = to_numpy(data)
|
||||||
parser = LocalFilesystem()
|
|
||||||
else:
|
|
||||||
with open(filename, "rb") as fh:
|
|
||||||
if verbose:
|
|
||||||
print("Loading file %s" % filename)
|
|
||||||
data = to_numpy(fh.read())
|
|
||||||
parser = None
|
parser = None
|
||||||
container = guess_container(data, verbose)
|
container = guess_container(data, verbose)
|
||||||
if container is not None:
|
if container is not None:
|
||||||
|
@ -83,7 +77,18 @@ def find_diskimage(filename, verbose=False):
|
||||||
break
|
break
|
||||||
if parser is None:
|
if parser is None:
|
||||||
raise errors.UnsupportedDiskImage("Unknown disk image type")
|
raise errors.UnsupportedDiskImage("Unknown disk image type")
|
||||||
|
return parser, mime
|
||||||
|
|
||||||
|
|
||||||
|
def find_diskimage(filename, verbose=False):
|
||||||
|
if filename == ".":
|
||||||
|
parser = LocalFilesystem()
|
||||||
else:
|
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.filename = filename
|
||||||
parser.image.ext = ""
|
parser.image.ext = ""
|
||||||
return parser
|
return parser
|
||||||
|
|
21
atrcopy/omnivore_framework_loader.py
Normal file
21
atrcopy/omnivore_framework_loader.py
Normal file
|
@ -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"],
|
packages=["atrcopy"],
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
scripts=scripts,
|
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.",
|
description="Utility to manage file systems on Atari 8-bit (DOS 2) and Apple ][ (DOS 3.3) disk images.",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
license="GPL",
|
license="GPL",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user