真正的保存服务器函数
(self)
| 1301 | self.saveEditedServer() |
| 1302 | |
| 1303 | def saveEditedServer(self): |
| 1304 | """真正的保存服务器函数""" |
| 1305 | exit0Msg = self.tr("修改服务器「") + editServerVariables.serverName + self.tr("」成功!") |
| 1306 | exit1Msg = self.tr("修改服务器「") + editServerVariables.serverName + self.tr("」失败!") |
| 1307 | exitCode = 0 |
| 1308 | |
| 1309 | # 检查JVM参数防止意外无法启动服务器 |
| 1310 | for arg in editServerVariables.jvmArg: |
| 1311 | if arg == "" or arg == " ": |
| 1312 | editServerVariables.jvmArg.pop(editServerVariables.jvmArg.index(arg)) |
| 1313 | |
| 1314 | serverConfig = { |
| 1315 | "name": editServerVariables.serverName, |
| 1316 | "core_file_name": editServerVariables.coreFileName, |
| 1317 | "java_path": editServerVariables.selectedJavaPath, |
| 1318 | "min_memory": editServerVariables.minMem, |
| 1319 | "max_memory": editServerVariables.maxMem, |
| 1320 | "memory_unit": editServerVariables.memUnit, |
| 1321 | "jvm_arg": editServerVariables.jvmArg, |
| 1322 | "output_decoding": editServerVariables.consoleOutputDeEncoding, |
| 1323 | "input_encoding": editServerVariables.consoleInputDeEncoding, |
| 1324 | "icon": editServerVariables.icon, |
| 1325 | "server_type": editServerVariables.serverType, |
| 1326 | "extra_data": editServerVariables.extraData, |
| 1327 | } |
| 1328 | # 复制核心 |
| 1329 | try: |
| 1330 | if editServerVariables.coreFileName != editServerVariables.oldCoreFileName: |
| 1331 | copy( |
| 1332 | editServerVariables.corePath, |
| 1333 | f"./Servers/{editServerVariables.serverName}//{editServerVariables.coreFileName}", |
| 1334 | ) |
| 1335 | w2 = MessageBox( |
| 1336 | title=self.tr("提示"), |
| 1337 | content=self.tr("是否需要删除旧的服务器核心?"), |
| 1338 | parent=self, |
| 1339 | ) |
| 1340 | w2.yesButton.setText(self.tr("需要")) |
| 1341 | w2.cancelButton.setText(self.tr("不需要")) |
| 1342 | w2.yesSignal.connect( |
| 1343 | remove( |
| 1344 | f"./Servers/{editServerVariables.oldServerName}//{editServerVariables.oldCoreFileName}" |
| 1345 | ) |
| 1346 | ) |
| 1347 | w2.exec() |
| 1348 | elif ( |
| 1349 | osp.getsize( |
| 1350 | f"./Servers/{editServerVariables.serverName}//{editServerVariables.oldCoreFileName}" |
| 1351 | ) |
| 1352 | != osp.getsize( |
| 1353 | f"./Servers/{editServerVariables.serverName}//{editServerVariables.coreFileName}" |
| 1354 | ) |
| 1355 | and editServerVariables.coreFileName == editServerVariables.oldCoreFileName |
| 1356 | ): |
| 1357 | remove( |
| 1358 | f"./Servers/{editServerVariables.oldServerName}//{editServerVariables.oldCoreFileName}" |
| 1359 | ) |
| 1360 | copy( |
no test coverage detected