text.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import constants
  2. import modes
  3. import positions
  4. from packet import Packet
  5. class Text(object):
  6. def __init__(self, data=None, label=None, size=None, position=None, mode=None):
  7. if data is None:
  8. data = ""
  9. if label is None:
  10. label = "A"
  11. if size is None:
  12. size = 64
  13. if len(data) > size:
  14. size = len(data)
  15. if size > 125:
  16. size = 125
  17. if size < 1:
  18. size = 1
  19. if position is None:
  20. position = positions.MIDDLE_LINE
  21. if mode is None:
  22. mode = modes.ROTATE
  23. self.label = label
  24. self.size = size
  25. self.data = data
  26. self.position = position
  27. self.mode = mode
  28. def __str__(self):
  29. # [WRITE_TEXT][File Label][ESC][Display Position][Mode Code]
  30. # [Special Specifier][ASCII Message]
  31. packet = Packet("%s%s%s%s%s%s" % (constants.WRITE_TEXT, self.label,
  32. constants.ESC,
  33. self.position,
  34. self.mode,
  35. self.data))
  36. return str(packet)
  37. def __repr__(self):
  38. return repr(self.__str__())