2020-09-27 00:53:23 -04:00
|
|
|
from typing import List, Type
|
|
|
|
|
2020-09-26 18:14:55 -04:00
|
|
|
from win2xcur.parser.ani import ANIParser
|
2020-09-27 00:53:23 -04:00
|
|
|
from win2xcur.parser.base import BaseParser
|
2020-09-26 18:14:55 -04:00
|
|
|
from win2xcur.parser.cur import CURParser
|
|
|
|
|
2020-09-27 00:53:23 -04:00
|
|
|
PARSERS: List[Type[BaseParser]] = [CURParser, ANIParser]
|
2020-09-26 18:14:55 -04:00
|
|
|
|
|
|
|
|
2020-09-27 00:53:23 -04:00
|
|
|
def open_blob(blob: bytes) -> BaseParser:
|
2020-09-26 18:14:55 -04:00
|
|
|
for parser in PARSERS:
|
|
|
|
if parser.can_parse(blob):
|
|
|
|
return parser(blob)
|
|
|
|
raise ValueError('Unsupported file format')
|