Render the spinner for a given time. Args: time (float): Time in seconds. Returns: RenderableType: A renderable containing animation frame.
(self, time: float)
| 59 | return Measurement.get(console, options, text) |
| 60 | |
| 61 | def render(self, time: float) -> "RenderableType": |
| 62 | """Render the spinner for a given time. |
| 63 | |
| 64 | Args: |
| 65 | time (float): Time in seconds. |
| 66 | |
| 67 | Returns: |
| 68 | RenderableType: A renderable containing animation frame. |
| 69 | """ |
| 70 | if self.start_time is None: |
| 71 | self.start_time = time |
| 72 | |
| 73 | frame_no = ((time - self.start_time) * self.speed) / ( |
| 74 | self.interval / 1000.0 |
| 75 | ) + self.frame_no_offset |
| 76 | frame = Text( |
| 77 | self.frames[int(frame_no) % len(self.frames)], style=self.style or "" |
| 78 | ) |
| 79 | |
| 80 | if self._update_speed: |
| 81 | self.frame_no_offset = frame_no |
| 82 | self.start_time = time |
| 83 | self.speed = self._update_speed |
| 84 | self._update_speed = 0.0 |
| 85 | |
| 86 | if not self.text: |
| 87 | return frame |
| 88 | elif isinstance(self.text, (str, Text)): |
| 89 | return Text.assemble(frame, " ", self.text) |
| 90 | else: |
| 91 | table = Table.grid(padding=1) |
| 92 | table.add_row(frame, self.text) |
| 93 | return table |
| 94 | |
| 95 | def update( |
| 96 | self, |
no test coverage detected