Skip to content

Commit 36e5596

Browse files
committed
refactor: simplify logic
1 parent 278521f commit 36e5596

File tree

1 file changed

+45
-42
lines changed

1 file changed

+45
-42
lines changed

src/ui/mainWindow.py

Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -401,48 +401,51 @@ def on_btnWait_Scan_clicked(self):
401401
return
402402

403403
dlg = dlgScan(self, self.settings.value('scan/ranges'))
404-
if dlg.exec() == QDialog.Accepted:
405-
# TODO: add separate host/template settings for scan?
406-
host = self.settings.value('test/host')
407-
request_format = self.settings.value('test/template')
408-
max_ips = dlg.ui.spinBox_MaxIP.value()
409-
num_workers = int(dlg.ui.comboBox_threads.currentText())
410-
timeout = dlg.ui.spinBox_timeout.value()
411-
autoTest = dlg.ui.chkBox_autoTest.isChecked()
412-
randomized = dlg.ui.chkBox_randomizeScan.isChecked()
413-
414-
# process IP ranges
415-
ip_ranges = dlg.ip_ranges
416-
try:
417-
ip_networks = [ip_network(ip_range) for enabled, ip_range, _ in ip_ranges if enabled]
418-
except ValueError:
419-
for enabled, ip_range, _ in ip_ranges:
420-
if not enabled: continue
421-
try:
422-
ip_network(ip_range)
423-
except ValueError:
424-
QMessageBox.critical(self, self.tr('错误'), self.tr('%s 不是一个合法的 IP 段。') % ip_range)
425-
return
426-
if not ip_networks:
427-
QMessageBox.critical(self, self.tr('错误'), self.tr('请至少选择一个 IP 段。'))
428-
return
429-
self.settings.setValue('scan/ranges', ip_ranges)
430-
431-
self._set_buttons_enabled(False)
432-
self.ui.ipList.clear()
433-
434-
thread = ScanThread(self, ip_networks, host, request_format,
435-
max_ips, num_workers, timeout, randomized)
436-
thread.finished.connect(self._test_ips if autoTest else self._after_scan)
437-
thread.foundAvailable.connect(self._report_single_scan_result)
438-
thread.progressUpdate.connect(self._scan_update)
439-
self._init_progessBar(thread.total_ips)
440-
self.logLabel.setText(self.tr('开始扫描,共 %n 个 IP...', '', thread.total_ips))
441-
thread.start()
442-
443-
self.sthread = thread
444-
self.ui.btnWait_Scan.setEnabled(True)
445-
self.ui.btnWait_Scan.setText(self.tr('取消'))
404+
if dlg.exec() != QDialog.Accepted:
405+
return
406+
407+
# TODO: add separate host/template settings for scan?
408+
host = self.settings.value('test/host')
409+
request_format = self.settings.value('test/template')
410+
max_ips = dlg.ui.spinBox_MaxIP.value()
411+
num_workers = int(dlg.ui.comboBox_threads.currentText())
412+
timeout = dlg.ui.spinBox_timeout.value()
413+
autoTest = dlg.ui.chkBox_autoTest.isChecked()
414+
randomized = dlg.ui.chkBox_randomizeScan.isChecked()
415+
416+
# process IP ranges
417+
ip_ranges = dlg.ip_ranges
418+
try:
419+
ip_networks = [ip_network(ip_range) for enabled, ip_range, _ in ip_ranges if enabled]
420+
except ValueError:
421+
for enabled, ip_range, _ in ip_ranges:
422+
if not enabled: continue
423+
try:
424+
ip_network(ip_range)
425+
except ValueError:
426+
QMessageBox.critical(self, self.tr('错误'), self.tr('%s 不是一个合法的 IP 段。') % ip_range)
427+
return
428+
if not ip_networks:
429+
QMessageBox.critical(self, self.tr('错误'), self.tr('请至少选择一个 IP 段。'))
430+
return
431+
432+
self.settings.setValue('scan/ranges', ip_ranges)
433+
434+
self._set_buttons_enabled(False)
435+
self.ui.ipList.clear()
436+
437+
thread = ScanThread(self, ip_networks, host, request_format,
438+
max_ips, num_workers, timeout, randomized)
439+
thread.finished.connect(self._test_ips if autoTest else self._after_scan)
440+
thread.foundAvailable.connect(self._report_single_scan_result)
441+
thread.progressUpdate.connect(self._scan_update)
442+
self._init_progessBar(thread.total_ips)
443+
self.logLabel.setText(self.tr('开始扫描,共 %n 个 IP...', '', thread.total_ips))
444+
thread.start()
445+
446+
self.sthread = thread
447+
self.ui.btnWait_Scan.setEnabled(True)
448+
self.ui.btnWait_Scan.setText(self.tr('取消'))
446449

447450
@Slot()
448451
def on_actSettings_triggered(self):

0 commit comments

Comments
 (0)