Merge branch 'dev'
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -77,3 +77,5 @@ CMakeLists.txt.user* | ||||
| *.pyproject.user | ||||
| *.ui | ||||
| settings.json | ||||
|  | ||||
| *.kdev4 | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|  | ||||
| # Установка | ||||
| ```shell | ||||
| curl https://www.elara.ws/lure.sh | bash & lure ar -n xpamych-repo -u https://gitflic.ru/project/xpamych/xpamych-lure-repo.git & lure in hlna-git | ||||
| curl -fsSL lure.sh/install | bash && lure ar -n xpamych-repo -u https://gitflic.ru/project/xpamych/xpamych-lure-repo.git && lure in hlna-git | ||||
| ``` | ||||
|  | ||||
| # Использование | ||||
|   | ||||
							
								
								
									
										391
									
								
								hlnaui.py
									
									
									
									
									
								
							
							
						
						
									
										391
									
								
								hlnaui.py
									
									
									
									
									
								
							| @@ -28,6 +28,7 @@ class Ui_mainWindow(object): | ||||
|         self.gridLayout_2 = QtWidgets.QGridLayout(self.tabArk) | ||||
|         self.gridLayout_2.setObjectName("gridLayout_2") | ||||
|         self.tabServers = QtWidgets.QTabWidget(parent=self.tabArk) | ||||
|         self.tabServers.setEnabled(True) | ||||
|         self.tabServers.setTabletTracking(False) | ||||
|         self.tabServers.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus) | ||||
|         self.tabServers.setTabPosition(QtWidgets.QTabWidget.TabPosition.North) | ||||
| @@ -40,8 +41,8 @@ class Ui_mainWindow(object): | ||||
|         self.tabServers.setObjectName("tabServers") | ||||
|         self.tab_5 = QtWidgets.QWidget() | ||||
|         self.tab_5.setObjectName("tab_5") | ||||
|         self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab_5) | ||||
|         self.horizontalLayout.setObjectName("horizontalLayout") | ||||
|         self.gridLayout = QtWidgets.QGridLayout(self.tab_5) | ||||
|         self.gridLayout.setObjectName("gridLayout") | ||||
|         self.groupBox = QtWidgets.QGroupBox(parent=self.tab_5) | ||||
|         self.groupBox.setMinimumSize(QtCore.QSize(500, 800)) | ||||
|         self.groupBox.setMaximumSize(QtCore.QSize(500, 16777215)) | ||||
| @@ -169,7 +170,7 @@ class Ui_mainWindow(object): | ||||
|         self.verticalLayout_3.addWidget(self.label_players) | ||||
|         self.lineEdit_players = QtWidgets.QLineEdit(parent=self.groupBox_settings) | ||||
|         self.lineEdit_players.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_players.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_players.setMaximumSize(QtCore.QSize(65, 35)) | ||||
|         self.lineEdit_players.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal) | ||||
|         self.lineEdit_players.setClearButtonEnabled(True) | ||||
|         self.lineEdit_players.setObjectName("lineEdit_players") | ||||
| @@ -230,12 +231,7 @@ class Ui_mainWindow(object): | ||||
|         self.label_rconcmd.setScaledContents(True) | ||||
|         self.label_rconcmd.setObjectName("label_rconcmd") | ||||
|         self.verticalLayout_2.addWidget(self.groupBox_6) | ||||
|         self.horizontalLayout.addWidget(self.groupBox) | ||||
|         self.line_7 = QtWidgets.QFrame(parent=self.tab_5) | ||||
|         self.line_7.setFrameShape(QtWidgets.QFrame.Shape.VLine) | ||||
|         self.line_7.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_7.setObjectName("line_7") | ||||
|         self.horizontalLayout.addWidget(self.line_7) | ||||
|         self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 1) | ||||
|         self.scrollArea = QtWidgets.QScrollArea(parent=self.tab_5) | ||||
|         self.scrollArea.setWidgetResizable(True) | ||||
|         self.scrollArea.setObjectName("scrollArea") | ||||
| @@ -250,14 +246,14 @@ class Ui_mainWindow(object): | ||||
|         self.tab_gameini.setObjectName("tab_gameini") | ||||
|         self.gridLayout_4 = QtWidgets.QGridLayout(self.tab_gameini) | ||||
|         self.gridLayout_4.setObjectName("gridLayout_4") | ||||
|         self.tableView = QtWidgets.QTableView(parent=self.tab_gameini) | ||||
|         self.kdialog = QtWidgets.QDialog(parent=self.tab_gameini) | ||||
|         self.kdialog.setObjectName("kdialog") | ||||
|         self.tableView = QtWidgets.QTableView(parent=self.kdialog) | ||||
|         self.tableView.setGeometry(QtCore.QRect(0, 0, 941, 862)) | ||||
|         self.tableView.setGridStyle(QtCore.Qt.PenStyle.SolidLine) | ||||
|         self.tableView.setObjectName("tableView") | ||||
|         self.tableView.horizontalHeader().setVisible(True) | ||||
|         self.tableView.horizontalHeader().setCascadingSectionResizes(False) | ||||
|         self.gridLayout_4.addWidget(self.tableView, 0, 1, 1, 1) | ||||
|         self.kdialog = QtWidgets.QDialog(parent=self.tab_gameini) | ||||
|         self.kdialog.setObjectName("kdialog") | ||||
|         self.gridLayout_4.addWidget(self.kdialog, 0, 0, 1, 1) | ||||
|         self.tabWidget_ini.addTab(self.tab_gameini, "") | ||||
|         self.tab_gameusersettingsini = QtWidgets.QWidget() | ||||
| @@ -273,61 +269,270 @@ class Ui_mainWindow(object): | ||||
|         self.tabWidget_ini.addTab(self.tab_gameusersettingsini, "") | ||||
|         self.gridLayout_3.addWidget(self.tabWidget_ini, 0, 0, 1, 1) | ||||
|         self.scrollArea.setWidget(self.scrollAreaWidgetContents) | ||||
|         self.horizontalLayout.addWidget(self.scrollArea) | ||||
|         self.gridLayout.addWidget(self.scrollArea, 0, 4, 1, 1) | ||||
|         self.line_7 = QtWidgets.QFrame(parent=self.tab_5) | ||||
|         self.line_7.setFrameShape(QtWidgets.QFrame.Shape.VLine) | ||||
|         self.line_7.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_7.setObjectName("line_7") | ||||
|         self.gridLayout.addWidget(self.line_7, 0, 1, 1, 1) | ||||
|         self.tabServers.addTab(self.tab_5, "") | ||||
|         self.tab = QtWidgets.QWidget() | ||||
|         self.tab.setObjectName("tab") | ||||
|         self.tabServers.addTab(self.tab, "") | ||||
|         self.gridLayout_2.addWidget(self.tabServers, 0, 0, 1, 1) | ||||
|         icon1 = QtGui.QIcon() | ||||
|         icon1.addPixmap(QtGui.QPixmap("./../../Yandex.Disk/Изображения/Оформление/ARK-2-Logo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) | ||||
|         self.tabGames.addTab(self.tabArk, icon1, "") | ||||
|         self.tab_2 = QtWidgets.QWidget() | ||||
|         self.tab_2.setObjectName("tab_2") | ||||
|         self.gridLayout = QtWidgets.QGridLayout(self.tab_2) | ||||
|         self.gridLayout.setObjectName("gridLayout") | ||||
|         self.groupBox_4 = QtWidgets.QGroupBox(parent=self.tab_2) | ||||
|         self.groupBox_4.setObjectName("groupBox_4") | ||||
|         self.gridLayout.addWidget(self.groupBox_4, 0, 1, 1, 1) | ||||
|         self.groupBox_3 = QtWidgets.QGroupBox(parent=self.tab_2) | ||||
|         self.groupBox_3.setTitle("") | ||||
|         self.groupBox_3.setObjectName("groupBox_3") | ||||
|         self.label_8 = QtWidgets.QLabel(parent=self.groupBox_3) | ||||
|         self.label_8.setGeometry(QtCore.QRect(10, 10, 81, 18)) | ||||
|         self.label_8.setScaledContents(True) | ||||
|         self.label_8.setObjectName("label_8") | ||||
|         self.textEdit_9 = QtWidgets.QTextEdit(parent=self.groupBox_3) | ||||
|         self.textEdit_9.setGeometry(QtCore.QRect(10, 80, 131, 31)) | ||||
|         self.textEdit_9.setObjectName("textEdit_9") | ||||
|         self.label_9 = QtWidgets.QLabel(parent=self.groupBox_3) | ||||
|         self.label_9.setGeometry(QtCore.QRect(10, 60, 81, 18)) | ||||
|         self.label_9.setScaledContents(True) | ||||
|         self.label_9.setObjectName("label_9") | ||||
|         self.textEdit_12 = QtWidgets.QTextEdit(parent=self.groupBox_3) | ||||
|         self.textEdit_12.setGeometry(QtCore.QRect(10, 140, 221, 31)) | ||||
|         self.textEdit_12.setObjectName("textEdit_12") | ||||
|         self.label_12 = QtWidgets.QLabel(parent=self.groupBox_3) | ||||
|         self.label_12.setGeometry(QtCore.QRect(10, 120, 101, 18)) | ||||
|         self.label_12.setScaledContents(True) | ||||
|         self.label_12.setObjectName("label_12") | ||||
|         self.label_13 = QtWidgets.QLabel(parent=self.groupBox_3) | ||||
|         self.label_13.setGeometry(QtCore.QRect(240, 120, 161, 18)) | ||||
|         self.label_13.setScaledContents(True) | ||||
|         self.label_13.setObjectName("label_13") | ||||
|         self.textEdit_13 = QtWidgets.QTextEdit(parent=self.groupBox_3) | ||||
|         self.textEdit_13.setGeometry(QtCore.QRect(230, 140, 221, 31)) | ||||
|         self.textEdit_13.setObjectName("textEdit_13") | ||||
|         self.textEdit_14 = QtWidgets.QTextEdit(parent=self.groupBox_3) | ||||
|         self.textEdit_14.setGeometry(QtCore.QRect(10, 200, 71, 31)) | ||||
|         self.textEdit_14.setObjectName("textEdit_14") | ||||
|         self.label_14 = QtWidgets.QLabel(parent=self.groupBox_3) | ||||
|         self.label_14.setGeometry(QtCore.QRect(10, 180, 131, 18)) | ||||
|         self.label_14.setScaledContents(True) | ||||
|         self.label_14.setObjectName("label_14") | ||||
|         self.lineEdit = QtWidgets.QLineEdit(parent=self.groupBox_3) | ||||
|         self.lineEdit.setGeometry(QtCore.QRect(10, 30, 441, 32)) | ||||
|         self.lineEdit.setObjectName("lineEdit") | ||||
|         self.gridLayout.addWidget(self.groupBox_3, 0, 0, 1, 1) | ||||
|         self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.tab_2) | ||||
|         self.horizontalLayout_3.setObjectName("horizontalLayout_3") | ||||
|         self.tabServers_2 = QtWidgets.QTabWidget(parent=self.tab_2) | ||||
|         self.tabServers_2.setTabletTracking(False) | ||||
|         self.tabServers_2.setFocusPolicy(QtCore.Qt.FocusPolicy.TabFocus) | ||||
|         self.tabServers_2.setTabPosition(QtWidgets.QTabWidget.TabPosition.North) | ||||
|         self.tabServers_2.setTabShape(QtWidgets.QTabWidget.TabShape.Rounded) | ||||
|         self.tabServers_2.setElideMode(QtCore.Qt.TextElideMode.ElideNone) | ||||
|         self.tabServers_2.setDocumentMode(False) | ||||
|         self.tabServers_2.setTabsClosable(True) | ||||
|         self.tabServers_2.setMovable(True) | ||||
|         self.tabServers_2.setTabBarAutoHide(False) | ||||
|         self.tabServers_2.setObjectName("tabServers_2") | ||||
|         self.tab_6 = QtWidgets.QWidget() | ||||
|         self.tab_6.setObjectName("tab_6") | ||||
|         self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab_6) | ||||
|         self.horizontalLayout_2.setObjectName("horizontalLayout_2") | ||||
|         self.groupBox_2 = QtWidgets.QGroupBox(parent=self.tab_6) | ||||
|         self.groupBox_2.setMinimumSize(QtCore.QSize(500, 800)) | ||||
|         self.groupBox_2.setMaximumSize(QtCore.QSize(500, 16777215)) | ||||
|         self.groupBox_2.setTitle("") | ||||
|         self.groupBox_2.setFlat(False) | ||||
|         self.groupBox_2.setObjectName("groupBox_2") | ||||
|         self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_2) | ||||
|         self.verticalLayout_4.setObjectName("verticalLayout_4") | ||||
|         self.groupBox_settings_2 = QtWidgets.QGroupBox(parent=self.groupBox_2) | ||||
|         self.groupBox_settings_2.setMinimumSize(QtCore.QSize(0, 600)) | ||||
|         self.groupBox_settings_2.setMaximumSize(QtCore.QSize(500, 16777215)) | ||||
|         self.groupBox_settings_2.setObjectName("groupBox_settings_2") | ||||
|         self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_settings_2) | ||||
|         self.verticalLayout_5.setObjectName("verticalLayout_5") | ||||
|         self.checkBox_cluster_2 = QtWidgets.QCheckBox(parent=self.groupBox_settings_2) | ||||
|         self.checkBox_cluster_2.setObjectName("checkBox_cluster_2") | ||||
|         self.verticalLayout_5.addWidget(self.checkBox_cluster_2) | ||||
|         self.lineEdit_cluster_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_cluster_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_cluster_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_cluster_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_cluster_2.setObjectName("lineEdit_cluster_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_cluster_2) | ||||
|         self.checkBox_listen_2 = QtWidgets.QCheckBox(parent=self.groupBox_settings_2) | ||||
|         self.checkBox_listen_2.setObjectName("checkBox_listen_2") | ||||
|         self.verticalLayout_5.addWidget(self.checkBox_listen_2) | ||||
|         self.label_namesession_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_namesession_2.setMinimumSize(QtCore.QSize(0, 10)) | ||||
|         self.label_namesession_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_namesession_2.setScaledContents(True) | ||||
|         self.label_namesession_2.setObjectName("label_namesession_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_namesession_2) | ||||
|         self.lineEdit_namesession_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_namesession_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_namesession_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_namesession_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_namesession_2.setObjectName("lineEdit_namesession_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_namesession_2) | ||||
|         self.line_8 = QtWidgets.QFrame(parent=self.groupBox_settings_2) | ||||
|         self.line_8.setFrameShape(QtWidgets.QFrame.Shape.HLine) | ||||
|         self.line_8.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_8.setObjectName("line_8") | ||||
|         self.verticalLayout_5.addWidget(self.line_8) | ||||
|         self.label_port_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_port_2.setMinimumSize(QtCore.QSize(0, 10)) | ||||
|         self.label_port_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_port_2.setScaledContents(True) | ||||
|         self.label_port_2.setObjectName("label_port_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_port_2) | ||||
|         self.lineEdit_port_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_port_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_port_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_port_2.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal) | ||||
|         self.lineEdit_port_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_port_2.setObjectName("lineEdit_port_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_port_2) | ||||
|         self.label_querryport_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_querryport_2.setMinimumSize(QtCore.QSize(0, 15)) | ||||
|         self.label_querryport_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_querryport_2.setScaledContents(True) | ||||
|         self.label_querryport_2.setObjectName("label_querryport_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_querryport_2) | ||||
|         self.lineEdit_querryport_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_querryport_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_querryport_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_querryport_2.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal) | ||||
|         self.lineEdit_querryport_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_querryport_2.setObjectName("lineEdit_querryport_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_querryport_2) | ||||
|         self.label_rconport_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_rconport_2.setMinimumSize(QtCore.QSize(0, 15)) | ||||
|         self.label_rconport_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_rconport_2.setScaledContents(True) | ||||
|         self.label_rconport_2.setObjectName("label_rconport_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_rconport_2) | ||||
|         self.lineEdit_rconport_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_rconport_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_rconport_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_rconport_2.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal) | ||||
|         self.lineEdit_rconport_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_rconport_2.setObjectName("lineEdit_rconport_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_rconport_2) | ||||
|         self.line_2 = QtWidgets.QFrame(parent=self.groupBox_settings_2) | ||||
|         self.line_2.setFrameShape(QtWidgets.QFrame.Shape.HLine) | ||||
|         self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_2.setObjectName("line_2") | ||||
|         self.verticalLayout_5.addWidget(self.line_2) | ||||
|         self.label_adminpassword_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_adminpassword_2.setMinimumSize(QtCore.QSize(0, 15)) | ||||
|         self.label_adminpassword_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_adminpassword_2.setScaledContents(True) | ||||
|         self.label_adminpassword_2.setObjectName("label_adminpassword_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_adminpassword_2) | ||||
|         self.lineEdit_adminpassword_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_adminpassword_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_adminpassword_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_adminpassword_2.setEchoMode(QtWidgets.QLineEdit.EchoMode.PasswordEchoOnEdit) | ||||
|         self.lineEdit_adminpassword_2.setPlaceholderText("") | ||||
|         self.lineEdit_adminpassword_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_adminpassword_2.setObjectName("lineEdit_adminpassword_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_adminpassword_2) | ||||
|         self.label_password_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_password_2.setMinimumSize(QtCore.QSize(0, 15)) | ||||
|         self.label_password_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_password_2.setScaledContents(True) | ||||
|         self.label_password_2.setObjectName("label_password_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_password_2) | ||||
|         self.lineEdit_password_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_password_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_password_2.setMaximumSize(QtCore.QSize(16777215, 35)) | ||||
|         self.lineEdit_password_2.setText("") | ||||
|         self.lineEdit_password_2.setEchoMode(QtWidgets.QLineEdit.EchoMode.PasswordEchoOnEdit) | ||||
|         self.lineEdit_password_2.setObjectName("lineEdit_password_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_password_2) | ||||
|         self.line_9 = QtWidgets.QFrame(parent=self.groupBox_settings_2) | ||||
|         self.line_9.setFrameShape(QtWidgets.QFrame.Shape.HLine) | ||||
|         self.line_9.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_9.setObjectName("line_9") | ||||
|         self.verticalLayout_5.addWidget(self.line_9) | ||||
|         self.label_players_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_players_2.setMinimumSize(QtCore.QSize(0, 15)) | ||||
|         self.label_players_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_players_2.setScaledContents(True) | ||||
|         self.label_players_2.setObjectName("label_players_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_players_2) | ||||
|         self.lineEdit_players_2 = QtWidgets.QLineEdit(parent=self.groupBox_settings_2) | ||||
|         self.lineEdit_players_2.setMinimumSize(QtCore.QSize(0, 35)) | ||||
|         self.lineEdit_players_2.setMaximumSize(QtCore.QSize(65, 35)) | ||||
|         self.lineEdit_players_2.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal) | ||||
|         self.lineEdit_players_2.setClearButtonEnabled(True) | ||||
|         self.lineEdit_players_2.setObjectName("lineEdit_players_2") | ||||
|         self.verticalLayout_5.addWidget(self.lineEdit_players_2) | ||||
|         self.horizontalSlider_players_2 = QtWidgets.QSlider(parent=self.groupBox_settings_2) | ||||
|         self.horizontalSlider_players_2.setMaximum(70) | ||||
|         self.horizontalSlider_players_2.setPageStep(1) | ||||
|         self.horizontalSlider_players_2.setOrientation(QtCore.Qt.Orientation.Horizontal) | ||||
|         self.horizontalSlider_players_2.setObjectName("horizontalSlider_players_2") | ||||
|         self.verticalLayout_5.addWidget(self.horizontalSlider_players_2) | ||||
|         self.line_10 = QtWidgets.QFrame(parent=self.groupBox_settings_2) | ||||
|         self.line_10.setFrameShape(QtWidgets.QFrame.Shape.HLine) | ||||
|         self.line_10.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_10.setObjectName("line_10") | ||||
|         self.verticalLayout_5.addWidget(self.line_10) | ||||
|         self.label_Maps_2 = QtWidgets.QLabel(parent=self.groupBox_settings_2) | ||||
|         self.label_Maps_2.setMinimumSize(QtCore.QSize(0, 15)) | ||||
|         self.label_Maps_2.setMaximumSize(QtCore.QSize(16777215, 15)) | ||||
|         self.label_Maps_2.setScaledContents(True) | ||||
|         self.label_Maps_2.setObjectName("label_Maps_2") | ||||
|         self.verticalLayout_5.addWidget(self.label_Maps_2) | ||||
|         self.comboBox_maps_2 = QtWidgets.QComboBox(parent=self.groupBox_settings_2) | ||||
|         self.comboBox_maps_2.setObjectName("comboBox_maps_2") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.comboBox_maps_2.addItem("") | ||||
|         self.verticalLayout_5.addWidget(self.comboBox_maps_2) | ||||
|         self.verticalLayout_4.addWidget(self.groupBox_settings_2) | ||||
|         self.groupBox_7 = QtWidgets.QGroupBox(parent=self.groupBox_2) | ||||
|         sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) | ||||
|         sizePolicy.setHorizontalStretch(0) | ||||
|         sizePolicy.setVerticalStretch(0) | ||||
|         sizePolicy.setHeightForWidth(self.groupBox_7.sizePolicy().hasHeightForWidth()) | ||||
|         self.groupBox_7.setSizePolicy(sizePolicy) | ||||
|         self.groupBox_7.setMinimumSize(QtCore.QSize(485, 80)) | ||||
|         self.groupBox_7.setMaximumSize(QtCore.QSize(0, 125)) | ||||
|         self.groupBox_7.setObjectName("groupBox_7") | ||||
|         self.lineEdit_rconcmd_2 = QtWidgets.QLineEdit(parent=self.groupBox_7) | ||||
|         self.lineEdit_rconcmd_2.setGeometry(QtCore.QRect(10, 40, 371, 32)) | ||||
|         self.lineEdit_rconcmd_2.setText("") | ||||
|         self.lineEdit_rconcmd_2.setObjectName("lineEdit_rconcmd_2") | ||||
|         self.pushButton_rconcmd_2 = QtWidgets.QPushButton(parent=self.groupBox_7) | ||||
|         self.pushButton_rconcmd_2.setGeometry(QtCore.QRect(390, 40, 88, 33)) | ||||
|         self.pushButton_rconcmd_2.setMinimumSize(QtCore.QSize(0, 33)) | ||||
|         self.pushButton_rconcmd_2.setMaximumSize(QtCore.QSize(16777215, 33)) | ||||
|         self.pushButton_rconcmd_2.setObjectName("pushButton_rconcmd_2") | ||||
|         self.label_rconcmd_2 = QtWidgets.QLabel(parent=self.groupBox_7) | ||||
|         self.label_rconcmd_2.setGeometry(QtCore.QRect(10, 20, 91, 18)) | ||||
|         self.label_rconcmd_2.setScaledContents(True) | ||||
|         self.label_rconcmd_2.setObjectName("label_rconcmd_2") | ||||
|         self.verticalLayout_4.addWidget(self.groupBox_7) | ||||
|         self.horizontalLayout_2.addWidget(self.groupBox_2) | ||||
|         self.line_11 = QtWidgets.QFrame(parent=self.tab_6) | ||||
|         self.line_11.setFrameShape(QtWidgets.QFrame.Shape.VLine) | ||||
|         self.line_11.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) | ||||
|         self.line_11.setObjectName("line_11") | ||||
|         self.horizontalLayout_2.addWidget(self.line_11) | ||||
|         self.scrollArea_2 = QtWidgets.QScrollArea(parent=self.tab_6) | ||||
|         self.scrollArea_2.setWidgetResizable(True) | ||||
|         self.scrollArea_2.setObjectName("scrollArea_2") | ||||
|         self.scrollAreaWidgetContents_2 = QtWidgets.QWidget() | ||||
|         self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 970, 923)) | ||||
|         self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2") | ||||
|         self.gridLayout_7 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2) | ||||
|         self.gridLayout_7.setObjectName("gridLayout_7") | ||||
|         self.tabWidget_ini_2 = QtWidgets.QTabWidget(parent=self.scrollAreaWidgetContents_2) | ||||
|         self.tabWidget_ini_2.setObjectName("tabWidget_ini_2") | ||||
|         self.tab_gameini_2 = QtWidgets.QWidget() | ||||
|         self.tab_gameini_2.setObjectName("tab_gameini_2") | ||||
|         self.gridLayout_8 = QtWidgets.QGridLayout(self.tab_gameini_2) | ||||
|         self.gridLayout_8.setObjectName("gridLayout_8") | ||||
|         self.kdialog_2 = QtWidgets.QDialog(parent=self.tab_gameini_2) | ||||
|         self.kdialog_2.setObjectName("kdialog_2") | ||||
|         self.tableView_3 = QtWidgets.QTableView(parent=self.kdialog_2) | ||||
|         self.tableView_3.setGeometry(QtCore.QRect(0, 0, 941, 862)) | ||||
|         self.tableView_3.setGridStyle(QtCore.Qt.PenStyle.SolidLine) | ||||
|         self.tableView_3.setObjectName("tableView_3") | ||||
|         self.tableView_3.horizontalHeader().setVisible(True) | ||||
|         self.tableView_3.horizontalHeader().setCascadingSectionResizes(False) | ||||
|         self.gridLayout_8.addWidget(self.kdialog_2, 0, 0, 1, 1) | ||||
|         self.tabWidget_ini_2.addTab(self.tab_gameini_2, "") | ||||
|         self.tab_gameusersettingsini_2 = QtWidgets.QWidget() | ||||
|         self.tab_gameusersettingsini_2.setObjectName("tab_gameusersettingsini_2") | ||||
|         self.gridLayout_9 = QtWidgets.QGridLayout(self.tab_gameusersettingsini_2) | ||||
|         self.gridLayout_9.setObjectName("gridLayout_9") | ||||
|         self.tableView_4 = QtWidgets.QTableView(parent=self.tab_gameusersettingsini_2) | ||||
|         self.tableView_4.setGridStyle(QtCore.Qt.PenStyle.SolidLine) | ||||
|         self.tableView_4.setObjectName("tableView_4") | ||||
|         self.tableView_4.horizontalHeader().setVisible(True) | ||||
|         self.tableView_4.horizontalHeader().setCascadingSectionResizes(False) | ||||
|         self.gridLayout_9.addWidget(self.tableView_4, 0, 0, 1, 1) | ||||
|         self.tabWidget_ini_2.addTab(self.tab_gameusersettingsini_2, "") | ||||
|         self.gridLayout_7.addWidget(self.tabWidget_ini_2, 0, 0, 1, 1) | ||||
|         self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2) | ||||
|         self.horizontalLayout_2.addWidget(self.scrollArea_2) | ||||
|         self.tabServers_2.addTab(self.tab_6, "") | ||||
|         self.horizontalLayout_3.addWidget(self.tabServers_2) | ||||
|         icon2 = QtGui.QIcon() | ||||
|         icon2.addPixmap(QtGui.QPixmap("./../../Yandex.Disk/Изображения/Оформление/7dtd.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) | ||||
|         self.tabGames.addTab(self.tab_2, icon2, "") | ||||
| @@ -340,6 +545,8 @@ class Ui_mainWindow(object): | ||||
|         self.menu.setObjectName("menu") | ||||
|         self.menu_2 = QtWidgets.QMenu(parent=self.menubar) | ||||
|         self.menu_2.setObjectName("menu_2") | ||||
|         self.menu_3 = QtWidgets.QMenu(parent=self.menubar) | ||||
|         self.menu_3.setObjectName("menu_3") | ||||
|         mainWindow.setMenuBar(self.menubar) | ||||
|         self.statusbar = QtWidgets.QStatusBar(parent=mainWindow) | ||||
|         self.statusbar.setObjectName("statusbar") | ||||
| @@ -352,6 +559,10 @@ class Ui_mainWindow(object): | ||||
|         self.action_HLN_A.setObjectName("action_HLN_A") | ||||
|         self.action_Discord = QtGui.QAction(parent=mainWindow) | ||||
|         self.action_Discord.setObjectName("action_Discord") | ||||
|         self.action_3 = QtGui.QAction(parent=mainWindow) | ||||
|         self.action_3.setObjectName("action_3") | ||||
|         self.action_4 = QtGui.QAction(parent=mainWindow) | ||||
|         self.action_4.setObjectName("action_4") | ||||
|         self.menu.addSeparator() | ||||
|         self.menu.addAction(self.action_HLN_A) | ||||
|         self.menu.addSeparator() | ||||
| @@ -361,6 +572,9 @@ class Ui_mainWindow(object): | ||||
|         self.menu_2.addSeparator() | ||||
|         self.menu_2.addAction(self.action_Discord) | ||||
|         self.menu_2.addSeparator() | ||||
|         self.menu_3.addAction(self.action_3) | ||||
|         self.menu_3.addAction(self.action_4) | ||||
|         self.menubar.addAction(self.menu_3.menuAction()) | ||||
|         self.menubar.addAction(self.menu.menuAction()) | ||||
|         self.menubar.addAction(self.menu_2.menuAction()) | ||||
|  | ||||
| @@ -368,6 +582,8 @@ class Ui_mainWindow(object): | ||||
|         self.tabGames.setCurrentIndex(0) | ||||
|         self.tabServers.setCurrentIndex(0) | ||||
|         self.tabWidget_ini.setCurrentIndex(0) | ||||
|         self.tabServers_2.setCurrentIndex(0) | ||||
|         self.tabWidget_ini_2.setCurrentIndex(0) | ||||
|         QtCore.QMetaObject.connectSlotsByName(mainWindow) | ||||
|  | ||||
|     def retranslateUi(self, mainWindow): | ||||
| @@ -389,7 +605,7 @@ class Ui_mainWindow(object): | ||||
|         self.lineEdit_adminpassword.setText(_translate("mainWindow", "Marvin")) | ||||
|         self.label_password.setText(_translate("mainWindow", "Пароль сессии")) | ||||
|         self.label_players.setText(_translate("mainWindow", "Кол-во игроков")) | ||||
|         self.lineEdit_players.setText(_translate("mainWindow", "27042")) | ||||
|         self.lineEdit_players.setText(_translate("mainWindow", "70")) | ||||
|         self.label_Maps.setText(_translate("mainWindow", "Карта")) | ||||
|         self.comboBox_maps.setItemText(0, _translate("mainWindow", "Остров (The Island)")) | ||||
|         self.comboBox_maps.setItemText(1, _translate("mainWindow", "Выжженые земли (Scorched Earth)")) | ||||
| @@ -409,23 +625,50 @@ class Ui_mainWindow(object): | ||||
|         self.tabWidget_ini.setTabText(self.tabWidget_ini.indexOf(self.tab_gameini), _translate("mainWindow", "Game.ini")) | ||||
|         self.tabWidget_ini.setTabText(self.tabWidget_ini.indexOf(self.tab_gameusersettingsini), _translate("mainWindow", "GameUserSettings.ini")) | ||||
|         self.tabServers.setTabText(self.tabServers.indexOf(self.tab_5), _translate("mainWindow", "Tab 1")) | ||||
|         self.tabServers.setTabText(self.tabServers.indexOf(self.tab), _translate("mainWindow", "Страница")) | ||||
|         self.tabGames.setTabText(self.tabGames.indexOf(self.tabArk), _translate("mainWindow", "ARK")) | ||||
|         self.groupBox_4.setTitle(_translate("mainWindow", "xml")) | ||||
|         self.label_8.setText(_translate("mainWindow", "Имя сессии")) | ||||
|         self.textEdit_9.setHtml(_translate("mainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" | ||||
| "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" | ||||
| "p, li { white-space: pre-wrap; }\n" | ||||
| "</style></head><body style=\" font-family:\'Noto Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n" | ||||
| "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>")) | ||||
|         self.label_9.setText(_translate("mainWindow", "Порт")) | ||||
|         self.label_12.setText(_translate("mainWindow", "Пароль сессии")) | ||||
|         self.label_13.setText(_translate("mainWindow", "Пароль администратора")) | ||||
|         self.label_14.setText(_translate("mainWindow", "Количество игроков")) | ||||
|         self.groupBox_settings_2.setTitle(_translate("mainWindow", "Настройки")) | ||||
|         self.checkBox_cluster_2.setText(_translate("mainWindow", "Кластер")) | ||||
|         self.lineEdit_cluster_2.setText(_translate("mainWindow", "id-кластера")) | ||||
|         self.checkBox_listen_2.setText(_translate("mainWindow", "Передавать в глобальный список серверов")) | ||||
|         self.label_namesession_2.setText(_translate("mainWindow", "Имя сессии")) | ||||
|         self.lineEdit_namesession_2.setText(_translate("mainWindow", "Имя_сессии ")) | ||||
|         self.label_port_2.setText(_translate("mainWindow", "Порт")) | ||||
|         self.lineEdit_port_2.setText(_translate("mainWindow", "7777")) | ||||
|         self.label_querryport_2.setText(_translate("mainWindow", "Querry порт")) | ||||
|         self.lineEdit_querryport_2.setText(_translate("mainWindow", "27015")) | ||||
|         self.label_rconport_2.setText(_translate("mainWindow", "Rcon порт")) | ||||
|         self.lineEdit_rconport_2.setText(_translate("mainWindow", "27042")) | ||||
|         self.label_adminpassword_2.setText(_translate("mainWindow", "Пароль администратора (Marvin)")) | ||||
|         self.lineEdit_adminpassword_2.setText(_translate("mainWindow", "Marvin")) | ||||
|         self.label_password_2.setText(_translate("mainWindow", "Пароль сессии")) | ||||
|         self.label_players_2.setText(_translate("mainWindow", "Кол-во игроков")) | ||||
|         self.lineEdit_players_2.setText(_translate("mainWindow", "70")) | ||||
|         self.label_Maps_2.setText(_translate("mainWindow", "Карта")) | ||||
|         self.comboBox_maps_2.setItemText(0, _translate("mainWindow", "Остров (The Island)")) | ||||
|         self.comboBox_maps_2.setItemText(1, _translate("mainWindow", "Выжженые земли (Scorched Earth)")) | ||||
|         self.comboBox_maps_2.setItemText(2, _translate("mainWindow", "Аберация (Aberration)")) | ||||
|         self.comboBox_maps_2.setItemText(3, _translate("mainWindow", "Вымирание (Extinction)")) | ||||
|         self.comboBox_maps_2.setItemText(4, _translate("mainWindow", "Genesis: Part 1")) | ||||
|         self.comboBox_maps_2.setItemText(5, _translate("mainWindow", "Genesis: Part 2")) | ||||
|         self.comboBox_maps_2.setItemText(6, _translate("mainWindow", "Центр (The Center)")) | ||||
|         self.comboBox_maps_2.setItemText(7, _translate("mainWindow", "Рагнарёк (Ragnarok)")) | ||||
|         self.comboBox_maps_2.setItemText(8, _translate("mainWindow", "Valguero")) | ||||
|         self.comboBox_maps_2.setItemText(9, _translate("mainWindow", "Кристальные острова (Crystal Island)")) | ||||
|         self.comboBox_maps_2.setItemText(10, _translate("mainWindow", "Потерянные острова (Lost Island)")) | ||||
|         self.comboBox_maps_2.setItemText(11, _translate("mainWindow", "Фьйордур (Fjordur)")) | ||||
|         self.groupBox_7.setTitle(_translate("mainWindow", "RCON")) | ||||
|         self.pushButton_rconcmd_2.setText(_translate("mainWindow", "Отправить")) | ||||
|         self.label_rconcmd_2.setText(_translate("mainWindow", "Rcon команда")) | ||||
|         self.tabWidget_ini_2.setTabText(self.tabWidget_ini_2.indexOf(self.tab_gameini_2), _translate("mainWindow", "Game.ini")) | ||||
|         self.tabWidget_ini_2.setTabText(self.tabWidget_ini_2.indexOf(self.tab_gameusersettingsini_2), _translate("mainWindow", "GameUserSettings.ini")) | ||||
|         self.tabServers_2.setTabText(self.tabServers_2.indexOf(self.tab_6), _translate("mainWindow", "Tab 1")) | ||||
|         self.tabGames.setTabText(self.tabGames.indexOf(self.tab_2), _translate("mainWindow", "7 Days to Die")) | ||||
|         self.menu.setTitle(_translate("mainWindow", "Настройки")) | ||||
|         self.menu_2.setTitle(_translate("mainWindow", "Справка")) | ||||
|         self.menu_3.setTitle(_translate("mainWindow", "Сервер")) | ||||
|         self.action.setText(_translate("mainWindow", "Лицензия")) | ||||
|         self.action_2.setText(_translate("mainWindow", "Об авторах")) | ||||
|         self.action_HLN_A.setText(_translate("mainWindow", "Настроить HLN-A")) | ||||
|         self.action_Discord.setText(_translate("mainWindow", "Сообщество Discord")) | ||||
|         self.action_3.setText(_translate("mainWindow", "Добавить")) | ||||
|         self.action_4.setText(_translate("mainWindow", "Удалить")) | ||||
|   | ||||
							
								
								
									
										149
									
								
								pytest.py
									
									
									
									
									
								
							
							
						
						
									
										149
									
								
								pytest.py
									
									
									
									
									
								
							| @@ -1,38 +1,141 @@ | ||||
| #!/usr/bin/env python3 | ||||
| from colorama import Fore, Style | ||||
| import os | ||||
|  | ||||
| import time | ||||
| from threading import Thread | ||||
| from pathlib import Path | ||||
|  | ||||
|  | ||||
|  | ||||
| import hlna | ||||
| import time | ||||
| import unittest | ||||
| import zipfile | ||||
| from click.testing import CliRunner | ||||
| from pathlib import Path | ||||
| home_dir = Path.home() | ||||
| config_hlna = f"{home_dir}/.config/hlna/" | ||||
|  | ||||
| from unittest.mock import patch, MagicMock | ||||
|  | ||||
| def config(): | ||||
|     hlna.config() | ||||
| def servers(): | ||||
|     x = os.system("./hlna.py servers >> /dev/null") | ||||
|     if x == 0: | ||||
|         print("Servers - "+Fore.GREEN +  "OK" + Style.RESET_ALL) | ||||
|     else: | ||||
|         print(Fore.RED + "Servers Fail" + Style.RESET_ALL) | ||||
| def delete(): | ||||
|     print("Delete - " + Fore.RED +  "False" + Style.RESET_ALL) | ||||
| from hlna import config | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
| class TestConfig(unittest.TestCase): | ||||
|  | ||||
|     servers() | ||||
|     delete() | ||||
|     @patch('builtins.input', side_effect=['1']) | ||||
|     @patch('hlna.config_ark') | ||||
|     def test_config_ark_valid(self, config_ark_mock, input_mock): | ||||
|         config() | ||||
|         config_ark_mock.assert_called_once() | ||||
|  | ||||
|     @patch('builtins.input', side_effect=['2']) | ||||
|     @patch('hlna.config_7daystodie') | ||||
|     def test_config_7daystodie_valid(self, config_7daystodie_mock, input_mock): | ||||
|         config() | ||||
|         config_7daystodie_mock.assert_called_once() | ||||
|  | ||||
|     @patch('builtins.input', side_effect=['3']) | ||||
|     @patch('sys.stdout', new_callable=MagicMock) | ||||
|     def test_config_invalid_game(self, mocked_stdout, input_mock): | ||||
|         config() | ||||
|         self.assertEqual(mocked_stdout.getvalue().strip(), "Пока есть только ARK и 7Days xD") | ||||
|  | ||||
|     @patch('builtins.input', side_effect=['a', '1']) | ||||
|     @patch('hlna.config_ark') | ||||
|     @patch('sys.stdout', new_callable=MagicMock) | ||||
|     def test_config_invalid_input(self, mocked_stdout, config_ark_mock, input_mock): | ||||
|         config() | ||||
|         config_ark_mock.assert_called_once() | ||||
|         self.assertEqual(mocked_stdout.getvalue().strip(), | ||||
|                          "Выберите игру для конфигурирования\n1. ARK Survival Evolved\n2. 7 Days to Die\n: ") | ||||
| class TestFindFile(unittest.TestCase): | ||||
|     def setUp(self): | ||||
|         self.test_dir = 'test_dir' | ||||
|         os.mkdir(self.test_dir) | ||||
|         self.test_files = ['foo.conf', 'bar.ini', 'qux.cfg', 'baz.txt', '.directory'] | ||||
|         for f in self.test_files: | ||||
|             open(os.path.join(self.test_dir, f), 'w').close() | ||||
|  | ||||
|     def tearDown(self): | ||||
|         for f in self.test_files: | ||||
|             os.remove(os.path.join(self.test_dir, f)) | ||||
|         os.rmdir(self.test_dir) | ||||
|  | ||||
|     def test_find_file(self): | ||||
|         res = hlna.find_file(self.test_dir) | ||||
|         self.assertEqual(sorted(res), sorted(['foo.conf', 'bar.ini', 'qux.cfg', 'baz.txt'])) | ||||
|  | ||||
|     def test_find_file_empty_dir(self): | ||||
|         res = hlna.find_file('empty_dir') | ||||
|         self.assertEqual(res, []) | ||||
|  | ||||
| class TestCreateDir(unittest.TestCase): | ||||
|     def test_create_dir(self): | ||||
|         testdir = 'testdir' | ||||
|         self.assertFalse(os.path.exists(testdir)) | ||||
|         hlna.create_dir(testdir) | ||||
|         self.assertTrue(os.path.exists(testdir)) | ||||
|         os.rmdir(testdir) | ||||
|  | ||||
| class TestRestore(unittest.TestCase): | ||||
|  | ||||
|     def setUp(self): | ||||
|         self.runner = CliRunner() | ||||
|         self.zip_file_name = "test_backup.zip" | ||||
|         os.system("touch test_file1.txt test_file2.txt") | ||||
|         self.file_names = ["test_file1.txt", "test_file2.txt"] | ||||
|         with zipfile.ZipFile(self.zip_file_name, 'w') as zip_file: | ||||
|             for file_name in self.file_names: | ||||
|                 zip_file.write(file_name) | ||||
|  | ||||
|     def tearDown(self): | ||||
|         os.remove(self.zip_file_name) | ||||
|         for file_name in self.file_names: | ||||
|             os.remove(file_name) | ||||
|  | ||||
|     def test_restore(self): | ||||
|         result = self.runner.invoke(hlna.restore, ["test", "-d", self.zip_file_name]) | ||||
|         self.assertEqual(result.exit_code, 0) | ||||
|         for file_name in self.file_names: | ||||
|             self.assertTrue(os.path.exists("./"+file_name)) | ||||
|  | ||||
| class TestBackup(unittest.TestCase): | ||||
|  | ||||
|     def setUp(self): | ||||
|         data = hlna.read_yaml(g="path_server") | ||||
|         if data['path_server'] == "": | ||||
|             data['path_server'] = f"{home_dir}Servers/ARK/Backups/test_backup/" | ||||
|         else: | ||||
|             data['path_server'] = f"{data['path_server']}ARK/Backups/test_backup/" | ||||
|         self.backup_path = data['path_server'] | ||||
|         self.runner = CliRunner() | ||||
|         with open(f"{config_hlna}/ARK/test_file.txt", "w") as file: | ||||
|             file.write("test content") | ||||
|  | ||||
|     def tearDown(self): | ||||
|         os.remove(f"{config_hlna}ARK/test_file.txt") | ||||
|         for root, dirs, files in os.walk(self.backup_path): | ||||
|             for file in files: | ||||
|                 os.remove(os.path.join(root, file)) | ||||
|         os.rmdir(self.backup_path) | ||||
|  | ||||
|     def test_backup(self): | ||||
|         result = self.runner.invoke(hlna.backup, ["ark_test"]) | ||||
|         self.assertEqual(result.exit_code, 0) | ||||
|         self.assertTrue(os.path.exists(self.backup_path)) | ||||
|  | ||||
|         target = f"{self.backup_path}ark_test_backup-" + time.strftime('%Y_%m_%d') + '.zip' | ||||
|         self.assertTrue(os.path.exists(target)) | ||||
|         with zipfile.ZipFile(target, 'r') as zip_file: | ||||
|             self.assertEqual(zip_file.testzip(), None) | ||||
|         self.assertTrue(os.path.exists(os.path.join(target, f"{config_hlna}ARK/test_file.txt"))) | ||||
|  | ||||
| class TestGetExternalIP(unittest.TestCase): | ||||
|     def test_backup(self): | ||||
|         self.assertTrue(bool(hlna.get_external_ip())) | ||||
|  | ||||
| #class TestGetExternalIP(unittest.TestCase): | ||||
| #    def test_backup(self): | ||||
| #        self.assertTrue(bool(hlna.get_external_ip())) | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|  | ||||
|  | ||||
|      | ||||
|  | ||||
|  | ||||
| #print(f"{Fore.GREEN} + {text}") | ||||
| #print(Fore.YELLOW + "-"*30 + Style.RESET_ALL) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user