30 lines
949 B
Python
30 lines
949 B
Python
from .analyzer import Analyzer, Result
|
|
from .analyzer.biogames import BoardDurationAnalyzer, SimulationRoundsAnalyzer
|
|
from .analyzer.default import LogEntryCountAnalyzer, LocationAnalyzer, LogEntrySequenceAnalyzer, ActionSequenceAnalyzer
|
|
from .analyzer.locomotion import LocomotionActionAnalyzer, CacheSequenceAnalyzer
|
|
from .analyzer.mask import MaskSpatials
|
|
from .render import Render
|
|
from .render.default import PrintRender, JSONRender
|
|
from .render.locomotion import LocomotionActionRelativeRender, LocomotionActionAbsoluteRender, \
|
|
LocomotionActionRatioRender
|
|
|
|
__FALLBACK__ = PrintRender
|
|
__MAPPING__ = {
|
|
LocomotionActionAnalyzer: [
|
|
LocomotionActionAbsoluteRender,
|
|
LocomotionActionRelativeRender,
|
|
LocomotionActionRatioRender, ],
|
|
LogEntryCountAnalyzer: [
|
|
JSONRender,
|
|
],
|
|
SimulationRoundsAnalyzer: [
|
|
JSONRender,
|
|
]
|
|
}
|
|
|
|
|
|
def get_renderer(cls: type) -> [type]:
|
|
if cls not in __MAPPING__:
|
|
return [__FALLBACK__]
|
|
return __MAPPING__[cls]
|