from copy import deepcopy
from ..data.data import Data
-from ..data.utils import classify_anomalies
+from ..utils.constants import Constants as C
+from ..utils.utils import classify_anomalies, show_tooltip
+from ..data.data import Data
from .tables import table_news
"""The layout of the dash app and the callbacks.
"""
- # The default job displayed when the page is loaded first time.
- DEFAULT_JOB = "csit-vpp-perf-mrr-daily-master-2n-icx"
-
- # Time period for regressions and progressions.
- TIME_PERIOD = 21 # [days]
-
def __init__(self, app: Flask, html_layout_file: str, data_spec_file: str,
tooltip_file: str) -> None:
"""Initialization:
data_stats, data_mrr, data_ndrpdr = Data(
data_spec_file=self._data_spec_file,
debug=True
- ).read_stats(days=self.TIME_PERIOD)
+ ).read_stats(days=C.NEWS_TIME_PERIOD)
df_tst_info = pd.concat([data_mrr, data_ndrpdr], ignore_index=True)
job_info["tbed"].append("-".join(lst_job[-2:]))
self.df_job_info = pd.DataFrame.from_dict(job_info)
- self._default = self._set_job_params(self.DEFAULT_JOB)
+ self._default = self._set_job_params(C.NEWS_DEFAULT_JOB)
# Pre-process the data:
lst_job[1], lst_job[3], lst_job[4]))
}
- def _show_tooltip(self, id: str, title: str,
- clipboard_id: str=None) -> list:
- """Generate list of elements to display a text (e.g. a title) with a
- tooltip and optionaly with Copy&Paste icon and the clipboard
- functionality enabled.
-
- :param id: Tooltip ID.
- :param title: A text for which the tooltip will be displayed.
- :param clipboard_id: If defined, a Copy&Paste icon is displayed and the
- clipboard functionality is enabled.
- :type id: str
- :type title: str
- :type clipboard_id: str
- :returns: List of elements to display a text with a tooltip and
- optionaly with Copy&Paste icon.
- :rtype: list
- """
-
- return [
- dcc.Clipboard(target_id=clipboard_id, title="Copy URL") \
- if clipboard_id else str(),
- f"{title} ",
- dbc.Badge(
- id=id,
- children="?",
- pill=True,
- color="white",
- text_color="info",
- class_name="border ms-1",
- ),
- dbc.Tooltip(
- children=self._tooltips.get(id, str()),
- target=id,
- placement="auto"
- )
- ]
-
def add_content(self):
"""Top level method which generated the web page.
children=[
dbc.Label(
class_name="p-0",
- children=self._show_tooltip(
+ children=show_tooltip(self._tooltips,
"help-dut", "Device under Test")
),
dbc.Row(
children=[
dbc.Label(
class_name="p-0",
- children=self._show_tooltip(
+ children=show_tooltip(self._tooltips,
"help-ttype", "Test Type"),
),
dbc.RadioItems(
children=[
dbc.Label(
class_name="p-0",
- children=self._show_tooltip(
+ children=show_tooltip(self._tooltips,
"help-cadence", "Cadence"),
),
dbc.RadioItems(
children=[
dbc.Label(
class_name="p-0",
- children=self._show_tooltip(
+ children=show_tooltip(self._tooltips,
"help-tbed", "Test Bed"),
),
dbc.Select(