mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-17 04:18:07 +00:00
always show message details in status top
(#933)
This commit is contained in:
@ -113,12 +113,11 @@ class Status(Command):
|
|||||||
def top(
|
def top(
|
||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
show_details: bool = False,
|
|
||||||
job_id: Optional[List[UUID]] = None,
|
job_id: Optional[List[UUID]] = None,
|
||||||
project: Optional[List[str]] = None,
|
project: Optional[List[str]] = None,
|
||||||
name: Optional[List[str]] = None,
|
name: Optional[List[str]] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Onefuzz Top"""
|
"""Onefuzz Top"""
|
||||||
job_filter = JobFilter(job_id=job_id, project=project, name=name)
|
job_filter = JobFilter(job_id=job_id, project=project, name=name)
|
||||||
top = Top(self.onefuzz, self.logger, show_details, job_filter)
|
top = Top(self.onefuzz, self.logger, job_filter)
|
||||||
top.run()
|
top.run()
|
||||||
|
@ -33,12 +33,10 @@ class Top:
|
|||||||
self,
|
self,
|
||||||
onefuzz: "Onefuzz",
|
onefuzz: "Onefuzz",
|
||||||
logger: logging.Logger,
|
logger: logging.Logger,
|
||||||
show_details: bool,
|
|
||||||
job_filter: JobFilter,
|
job_filter: JobFilter,
|
||||||
):
|
):
|
||||||
self.onefuzz = onefuzz
|
self.onefuzz = onefuzz
|
||||||
self.logger = logger
|
self.logger = logger
|
||||||
self.show_details = show_details
|
|
||||||
|
|
||||||
self.cache = TopCache(onefuzz, job_filter)
|
self.cache = TopCache(onefuzz, job_filter)
|
||||||
self.queue: PriorityQueue = PriorityQueue()
|
self.queue: PriorityQueue = PriorityQueue()
|
||||||
@ -97,7 +95,7 @@ class Top:
|
|||||||
error: Optional[Exception] = None
|
error: Optional[Exception] = None
|
||||||
try:
|
try:
|
||||||
self.logger.info("rendering")
|
self.logger.info("rendering")
|
||||||
render(self.cache, self.show_details)
|
render(self.cache)
|
||||||
client.stop()
|
client.stop()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
error = err
|
error = err
|
||||||
|
@ -46,13 +46,12 @@ def column_config(fields: Optional[List[str]]) -> List[Union[int, str]]:
|
|||||||
|
|
||||||
|
|
||||||
class TopView(Frame):
|
class TopView(Frame):
|
||||||
def __init__(self, screen: Any, cache: TopCache, show_details: bool):
|
def __init__(self, screen: Any, cache: TopCache):
|
||||||
|
|
||||||
super(TopView, self).__init__(
|
super(TopView, self).__init__(
|
||||||
screen, screen.height, screen.width, has_border=True, can_scroll=False
|
screen, screen.height, screen.width, has_border=True, can_scroll=False
|
||||||
)
|
)
|
||||||
self.cache = cache
|
self.cache = cache
|
||||||
self.show_details = show_details
|
|
||||||
self.set_theme("monochrome")
|
self.set_theme("monochrome")
|
||||||
self.palette["title"] = (
|
self.palette["title"] = (
|
||||||
Screen.COLOUR_BLACK,
|
Screen.COLOUR_BLACK,
|
||||||
@ -95,9 +94,6 @@ class TopView(Frame):
|
|||||||
}
|
}
|
||||||
|
|
||||||
for name in ["status", "pools", "jobs", "tasks", "messages"]:
|
for name in ["status", "pools", "jobs", "tasks", "messages"]:
|
||||||
if name == "messages" and not self.show_details:
|
|
||||||
continue
|
|
||||||
|
|
||||||
titles = dimensions[name].get("setup")
|
titles = dimensions[name].get("setup")
|
||||||
|
|
||||||
if titles:
|
if titles:
|
||||||
@ -171,9 +167,7 @@ class TopView(Frame):
|
|||||||
self.render_base("pools", self.cache.render_pools())
|
self.render_base("pools", self.cache.render_pools())
|
||||||
self.render_base("jobs", self.cache.render_jobs())
|
self.render_base("jobs", self.cache.render_jobs())
|
||||||
self.render_base("tasks", self.cache.render_tasks())
|
self.render_base("tasks", self.cache.render_tasks())
|
||||||
|
self.render_base("messages", self.cache.messages)
|
||||||
if self.show_details:
|
|
||||||
self.render_base("messages", self.cache.messages)
|
|
||||||
|
|
||||||
super(TopView, self).update(frame_no)
|
super(TopView, self).update(frame_no)
|
||||||
|
|
||||||
@ -182,16 +176,16 @@ class TopView(Frame):
|
|||||||
return 25
|
return 25
|
||||||
|
|
||||||
|
|
||||||
def render(data: TopCache, show_details: bool) -> None:
|
def render(data: TopCache) -> None:
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
Screen.wrapper(
|
Screen.wrapper(
|
||||||
lambda screen, data_ref, show_details: screen.play(
|
lambda screen, data_ref: screen.play(
|
||||||
[Scene([TopView(screen, data_ref, show_details)], -1)],
|
[Scene([TopView(screen, data_ref)], -1)],
|
||||||
stop_on_resize=True,
|
stop_on_resize=True,
|
||||||
),
|
),
|
||||||
catch_interrupt=True,
|
catch_interrupt=True,
|
||||||
arguments=[data, show_details],
|
arguments=[data],
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
except ResizeScreenError:
|
except ResizeScreenError:
|
||||||
|
Reference in New Issue
Block a user