#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Copyright (c) Huawei Technologies Co., Ltd. 2024. All rights reserved.

from msmodel.hardware.qos_model import QosModel
from msparser.interface.istars_parser import IStarsParser
from profiling_bean.stars.stars_qos_bean import StarsQosBean


class StarsQosParser(IStarsParser):
    """
    class used to parse qos data
    """

    def __init__(self: any, result_dir: str, db: str, table_list: list) -> None:
        super().__init__()
        self._model = QosModel(result_dir, db, table_list)
        self._decoder = StarsQosBean
        self._data_list = []

    def preprocess_data(self: any) -> None:
        """
        process data list before save to db
        :return: None
        """
        self._data_list = [[data.timestamp, data.die_id] + data.qos_bw_data for data in self._data_list]