import random from bemani.backend.base import Base from bemani.protocol import Node class EventLogHandler(Base): """ A mixin that can be used to provide ESS eventlog handling. """ def handle_eventlog_write_request(self, request: Node) -> Node: # Just turn off further logging gamesession = request.child_value('data/gamesession') if gamesession < 0: gamesession = random.randint(1, 1000000) root = Node.void('eventlog') root.add_child(Node.s64('gamesession', gamesession)) root.add_child(Node.s32('logsendflg', 0)) root.add_child(Node.s32('logerrlevel', 0)) root.add_child(Node.s32('evtidnosendflg', 0)) return root