32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
# tool/core/cmd/rm.py
|
|
import struct
|
|
from core.utils import console, console_err
|
|
from core.protocol import COMMANDS, ERRORS
|
|
|
|
class rm:
|
|
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['rm'], payload)
|
|
|
|
# 1 Byte Type + 4 Byte Size = 5
|
|
data = self.bus.receive_ack()
|
|
|
|
if not data or data.get('type') == 'error':
|
|
return None
|
|
|
|
if data.get('type') == 'ack':
|
|
return True
|
|
return False
|
|
|
|
|
|
def print(self, result, path: str):
|
|
if result is None:
|
|
console_err.print(f"Fehler: Pfad [error]{path}[/error] konnte nicht entfernt werden.")
|
|
elif result is False:
|
|
console_err.print(f"Fehler: Pfad [error]{path}[/error] existiert nicht oder konnte nicht entfernt werden.")
|
|
else:
|
|
console.print(f"Pfad [info]{path}[/info] wurde erfolgreich entfernt.") |