diff --git a/adafruit_display_text/scrolling_label.py b/adafruit_display_text/scrolling_label.py index 02d4ef6..2a2b6e5 100644 --- a/adafruit_display_text/scrolling_label.py +++ b/adafruit_display_text/scrolling_label.py @@ -66,7 +66,7 @@ def __init__( self._last_animate_time = -1 self.max_characters = max_characters - if text[-1] != " ": + if text and text[-1] != " ": text = "{} ".format(text) self._full_text = text @@ -123,10 +123,10 @@ def current_index(self) -> int: @current_index.setter def current_index(self, new_index: int) -> None: - if new_index < len(self.full_text): - self._current_index = new_index - else: + if self.full_text: self._current_index = new_index % len(self.full_text) + else: + self._current_index = 0 @property def full_text(self) -> str: @@ -139,11 +139,12 @@ def full_text(self) -> str: @full_text.setter def full_text(self, new_text: str) -> None: - if new_text[-1] != " ": + if new_text and new_text[-1] != " ": new_text = "{} ".format(new_text) - self._full_text = new_text - self.current_index = 0 - self.update() + if new_text != self._full_text: + self._full_text = new_text + self.current_index = 0 + self.update(True) @property def text(self):