Repository navigation
Expand file tree
/
Copy pathSortSiteIteratorThread.py
More file actions
48 lines (44 loc) · 1.58 KB
/
Copy pathSortSiteIteratorThread.py
File metadata and controls
48 lines (44 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from SortSiteSetup import SortSiteSetup
from SortSiteIteratorRunner import SortSiteIteratorRunner
from PyQt5.QtCore import QThread, pyqtSignal
import zipfile
class SortSiteIteratorThread(QThread):
outputReceived = pyqtSignal(str)
progressUpdated = pyqtSignal(float)
cancelled = pyqtSignal()
finished = pyqtSignal()
def __init__(self, sitesFile, configFile, obeyRobots: bool, isTrial: bool, programLocation: str, scope: str):
super().__init__()
self.sitesFile = sitesFile
self.configFile = configFile
self.obeyRobots = obeyRobots
self.isTrial = isTrial
self.programLocation = programLocation
self.scope = scope
def run(self):
setup = SortSiteSetup(
self.sitesFile,
self.configFile,
self.obeyRobots,
self.isTrial,
self.programLocation,
self.scope
)
runner = SortSiteIteratorRunner(setup)
runner.commandLineOutput.connect(self.handleCommandLineOutput)
runner.run()
def handleCommandLineOutput(self, output):
if output == 'Finished':
self.finished.emit()
self.progressUpdated.emit(100)
return
if output == 'Cancelled':
self.cancelled.emit()
return
if output:
self.outputReceived.emit(output)
try:
progress = float(output.strip())
self.progressUpdated.emit(progress)
except ValueError:
pass