Module modules.misc.logfile_converter

Functions

def logfile_to_mission(logfile: pathlib.Path, mission: pathlib.Path) ‑> None
Expand source code
def logfile_to_mission(logfile: Path, mission: Path) -> None:
    with open(mission, "w") as mission_file:
        for index, packet in enumerate(LogfileIterator(logfile)):
            logger.info(
                f"""Callsign: {packet[:18]} Timestamp: {packet[18:22]} Blocks: {packet[22:24]}
                    Packet Number: {packet[24:26]}"""
            )
            logger.info(f"packet #{index}: {packet}")
            mission_file.write(packet + "\n")

Classes

class LogfileIterator (replay_path: pathlib.Path)
Expand source code
class LogfileIterator:
    def __init__(self, replay_path: Path):
        self.replay_path = replay_path

    def __iter__(self):
        with open(self.replay_path, "rb") as file:
            data = file.read()

        if len(data) < 9:
            return

        callsign = data[0:9]
        logger.info(f"Callsign: {callsign.hex()}")
        next = data.find(callsign, 8)
        while next != -1:
            yield data[:next].hex()
            data = data[next:]
            next = data.find(callsign, 8)
        yield data.hex()