mirror of
https://github.com/shizand/statapp.git
synced 2025-10-21 00:57:28 +03:00
refactor: исправлены ВСЕ замечания pylint (#72)
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
from PySide2.QtCore import QModelIndex, Qt
|
||||
|
||||
from statapp.models.ro_table_model import ROTableModel
|
||||
from statapp.models.utils import yx_header
|
||||
from statapp.models.utils import yxHeader
|
||||
|
||||
|
||||
class CorrelationAnalysisModel(ROTableModel):
|
||||
@@ -28,15 +28,12 @@ class CorrelationAnalysisModel(ROTableModel):
|
||||
super().__init__(data)
|
||||
|
||||
def getHorizontalHeader(self):
|
||||
return yx_header(self.columnCount(QModelIndex()))
|
||||
return yxHeader(self.columnCount(QModelIndex()))
|
||||
|
||||
def getVerticalHeader(self):
|
||||
return yx_header(self.rowCount(QModelIndex()))
|
||||
return yxHeader(self.rowCount(QModelIndex()))
|
||||
|
||||
def data(self, index, role):
|
||||
if role == Qt.DisplayRole:
|
||||
if (index.column() <= index.row()):
|
||||
return float(self._data[index.row(), index.column()])
|
||||
else:
|
||||
None
|
||||
if role == Qt.DisplayRole and index.column() <= index.row():
|
||||
return super().data(index, role)
|
||||
return None
|
||||
|
@@ -43,7 +43,7 @@ class EditableTableModel(ROTableModel):
|
||||
return False
|
||||
|
||||
def data(self, index, role):
|
||||
if role == Qt.DisplayRole or role == Qt.EditRole:
|
||||
return float(self._data[index.row(), index.column()])
|
||||
if role in (Qt.DisplayRole, Qt.EditRole):
|
||||
return super().data(index, Qt.DisplayRole)
|
||||
|
||||
return None
|
||||
|
@@ -24,30 +24,35 @@ from PySide2.QtWidgets import QFileDialog, QMessageBox
|
||||
class FileSLCModel:
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.file_name = None
|
||||
self.fileName = None
|
||||
|
||||
def saveFile(self, data):
|
||||
if not self.file_name:
|
||||
self.file_name, _ = QFileDialog.getSaveFileName(None, "Сохранить файл", "", "Text Files (*.txt);;CSV Files (*.csv)")
|
||||
if self.file_name:
|
||||
np.savetxt(self.file_name, data, delimiter=",")
|
||||
if not self.fileName:
|
||||
self.fileName, _ = QFileDialog.getSaveFileName(
|
||||
None, "Сохранить файл", "", "Text Files (*.txt);;CSV Files (*.csv)"
|
||||
)
|
||||
if self.fileName:
|
||||
np.savetxt(self.fileName, data, delimiter=",")
|
||||
return True
|
||||
return False
|
||||
|
||||
def loadFile(self):
|
||||
self.file_name, _ = QFileDialog.getOpenFileName(None, "Загрузить файл", "", "Files (*.txt *.csv)")
|
||||
if self.file_name:
|
||||
self.fileName, _ = QFileDialog.getOpenFileName(
|
||||
None, "Загрузить файл", "", "Files (*.txt *.csv)"
|
||||
)
|
||||
if self.fileName:
|
||||
try:
|
||||
content = np.genfromtxt(self.file_name, delimiter=',', invalid_raise=True, ndmin=2)
|
||||
except ValueError as e:
|
||||
content = np.genfromtxt(self.fileName, delimiter=',', invalid_raise=True, ndmin=2)
|
||||
except ValueError:
|
||||
QMessageBox.warning \
|
||||
(None,
|
||||
'Ошибка',
|
||||
"Ошибка чтения файла!\nФайл нельзя открыть или файл неверного формата")
|
||||
self.file_name = None
|
||||
self.fileName = None
|
||||
return None
|
||||
return content
|
||||
|
||||
return None
|
||||
|
||||
def closeFile(self):
|
||||
self.file_name = None
|
||||
pass
|
||||
self.fileName = None
|
||||
|
@@ -18,10 +18,10 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
import numpy as np
|
||||
from PySide2.QtCore import Qt, QModelIndex
|
||||
from PySide2.QtCore import QModelIndex
|
||||
|
||||
from statapp.models.editable_table_model import EditableTableModel
|
||||
from statapp.models.utils import yx_header
|
||||
from statapp.models.utils import yxHeader
|
||||
|
||||
|
||||
class InputValuesModel(EditableTableModel):
|
||||
@@ -29,7 +29,7 @@ class InputValuesModel(EditableTableModel):
|
||||
super().__init__(data)
|
||||
|
||||
def getHorizontalHeader(self):
|
||||
return yx_header(self.columnCount(QModelIndex()))
|
||||
return yxHeader(self.columnCount(QModelIndex()))
|
||||
|
||||
def getY(self):
|
||||
return self._data[:, 0]
|
||||
|
@@ -17,12 +17,11 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
import PySide2
|
||||
import numpy as np
|
||||
from PySide2 import QtCore
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
from statapp.utils import safe_list_get
|
||||
from statapp.utils import safeListGet
|
||||
|
||||
|
||||
class ROTableModel(QtCore.QAbstractTableModel):
|
||||
@@ -55,7 +54,7 @@ class ROTableModel(QtCore.QAbstractTableModel):
|
||||
|
||||
def headerData(self, section: int, orientation: Qt.Orientation, role: int = ...):
|
||||
if role == Qt.DisplayRole:
|
||||
return safe_list_get(self._headers[orientation](), section, None)
|
||||
return safeListGet(self._headers[orientation](), section, None)
|
||||
|
||||
return None
|
||||
|
||||
|
@@ -17,5 +17,5 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
def yx_header(count):
|
||||
def yxHeader(count):
|
||||
return ['Y'] + [f'X{i}' for i in range(1, count)]
|
||||
|
@@ -20,7 +20,7 @@
|
||||
from PySide2.QtCore import QModelIndex
|
||||
|
||||
from statapp.models.ro_table_model import ROTableModel
|
||||
from statapp.models.utils import yx_header
|
||||
from statapp.models.utils import yxHeader
|
||||
|
||||
|
||||
class VarianceAnalysisModel(ROTableModel):
|
||||
@@ -31,4 +31,4 @@ class VarianceAnalysisModel(ROTableModel):
|
||||
return ['Мат. ожидание', 'Среднекв. отклонение', 'Минимум', 'Максимум']
|
||||
|
||||
def getVerticalHeader(self):
|
||||
return yx_header(self.rowCount(QModelIndex()))
|
||||
return yxHeader(self.rowCount(QModelIndex()))
|
||||
|
Reference in New Issue
Block a user