Skip to content

Commit

Permalink
Move StatusRow to _output
Browse files Browse the repository at this point in the history
  • Loading branch information
erikbern committed Jul 30, 2024
1 parent d52f776 commit 393a4f7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 27 deletions.
19 changes: 19 additions & 0 deletions modal/_output.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
)
from rich.spinner import Spinner
from rich.text import Text
from rich.tree import Tree

from modal_proto import api_pb2

Expand Down Expand Up @@ -74,6 +75,24 @@ def substep_completed(message: str) -> RenderableType:
return f"🔨 {message}"


class StatusRow:
def __init__(self, progress: "Optional[Tree]"):
self._spinner = None
self._step_node = None
if progress is not None:
self._spinner = step_progress()
self._step_node = progress.add(self._spinner)

def message(self, message):
if self._spinner is not None:
self._spinner.update(text=message)

def finish(self, message):
if self._step_node is not None:
self._spinner.update(text=message)
self._step_node.label = substep_completed(message)


def download_progress_bar() -> Progress:
"""
Returns a progress bar suitable for showing file download progress.
Expand Down
31 changes: 4 additions & 27 deletions modal/_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,10 @@
from .exception import NotFoundError

if TYPE_CHECKING:
from rich.tree import Tree

from modal._output import StatusRow
from modal.object import _Object


class StatusRow:
def __init__(self, progress: "Optional[Tree]"):
from ._output import (
step_progress,
)

self._spinner = None
self._step_node = None
if progress is not None:
self._spinner = step_progress()
self._step_node = progress.add(self._spinner)

def message(self, message):
if self._spinner is not None:
self._spinner.update(text=message)

def finish(self, message):
from ._output import substep_completed

if self._step_node is not None:
self._spinner.update(text=message)
self._step_node.label = substep_completed(message)


class Resolver:
_local_uuid_to_future: Dict[str, Future]
_environment_name: Optional[str]
Expand Down Expand Up @@ -169,5 +144,7 @@ def display(self):
else:
yield

def add_status_row(self) -> StatusRow:
def add_status_row(self) -> "StatusRow":
from ._output import StatusRow

return StatusRow(self._tree)

0 comments on commit 393a4f7

Please sign in to comment.