from nd2reader.parser.v3 import V3Parser
|
|
from nd2reader.exc import InvalidVersionError
|
|
|
|
|
|
def get_parser(fh, major_version, minor_version):
|
|
"""
|
|
Picks the appropriate parser based on the ND2 version.
|
|
|
|
:type fh: file
|
|
:type major_version: int
|
|
:type minor_version: int
|
|
|
|
:rtype: a parser object
|
|
|
|
"""
|
|
parsers = {(3, None): V3Parser}
|
|
parser = parsers.get((major_version, minor_version)) or parsers.get((major_version, None))
|
|
if not parser:
|
|
raise InvalidVersionError("No parser is available for that version.")
|
|
return parser(fh)
|