Source code for src.visuals.windows.sample_dialog

"""The wrapper class for handling the mariadb settings Dialog."""
from __future__ import annotations

from loguru import logger
import time
import numpy as np

from src.core.apis.riot import getEqualDistGameSamples, getMaxPageNumber
from src.core.io.mariadb import updateConnectionState
from src.core.config import config, Configs, locPathSet_c

from src.visuals.ui.generated.ui_sampledialog import Ui_Sampledialog
from src.visuals.windows.loading_dialog import LoadingDialog

from src.utils.io import writeSettingsFile

from PySide6.QtWidgets import QDialog, QApplication
from PySide6.QtCore import QTimer

[docs] class SampleDialog(QDialog): """Wrapper class for the mariadb settings window Attributes ---------- ui : Ui_Dialog the raw sampledialog Class, produced by compilation """ def __init__(self, parent=None) -> None: super().__init__(parent) self.ui = Ui_Sampledialog() self.ui.setupUi(self) # if execute button is clicked, execute that self.ui.commandLinkButton_sample.pressed.connect(self._execute_sample)
[docs] def _execute_sample(self) -> None: """ executes sampling for the provided settings """ self.ui.commandLinkButton_sample.setDisabled(True) self.ui.buttonBox.setDisabled(True) QApplication.processEvents() samplesize = self.ui.spinBox_samplesize.value() logger.trace(f"Starting sampling {samplesize} gamefiles.") sample_vec = np.arange(samplesize) sample_list = list() pages_of_data = getMaxPageNumber( rank = self.ui.comboBox_rank.currentText(), queue = self.ui.comboBox_queue.currentText(), division = self.ui.comboBox_division.currentText() ) for sample in sample_vec: sample_list.append( { "rank": self.ui.comboBox_rank.currentText(), "queue": self.ui.comboBox_queue.currentText(), "division": self.ui.comboBox_division.currentText(), "maxPageNumber": pages_of_data, "samplesize": 1 } ) ldlg = LoadingDialog(self, getEqualDistGameSamples, sample_list) if ldlg.exec(): logger.debug("LoadingDialog was running successful.") pass QTimer.singleShot(2000,lambda: self.close())