BxCmdFileDelete.py 908 B

12345678910111213141516171819202122232425262728293031323334
  1. import struct
  2. from .BxCmd import baseBxCmd
  3. from .BxCmdCode import CMD_FILE_DELETE
  4. class CmdDeleteFile(baseBxCmd):
  5. def __init__(self, files):
  6. super().__init__(CMD_FILE_DELETE.group, CMD_FILE_DELETE.code)
  7. self.files = files if files else []
  8. def Build(self):
  9. result = bytearray()
  10. # 写入命令组
  11. result.append(self.Group())
  12. # 写入命令
  13. result.append(self.Cmd())
  14. # 写入响应标志
  15. result.append(self.ReqResp())
  16. # 写入保留值
  17. result.extend([0x00, 0x00])
  18. l = len(self.files)
  19. if l != 0:
  20. result.extend(struct.pack('<H', l))
  21. for v in self.files:
  22. result.extend(v.encode('ascii'))
  23. return bytes(result)
  24. result.append(0x00)
  25. return bytes(result)
  26. def NewCmdDeleteFile(files):
  27. return CmdDeleteFile(files)