# tool/core/cmd/stat.py import struct from core.utils import console, console_err from core.protocol import COMMANDS, ERRORS class stat: def __init__(self, bus): self.bus = bus def get(self, path: str): path_bytes = path.encode('utf-8') payload = struct.pack('B', len(path_bytes)) + path_bytes self.bus.send_request(COMMANDS['stat'], payload) # 1 Byte Type + 4 Byte Size = 5 data = self.bus.receive_response(length=5) if not data or data.get('type') == 'error': return None payload = data['data'] result = { 'is_directory': payload[0] == 1, 'size': struct.unpack('