Ejemplo n.º 1
0
class BatotoThread(Thread):
	
	def __init__(self, pType, lines, frame, order=True):
		Thread.__init__(self)
		self.pType = pType
		self.lines = lines
		self.parser = URLParser()
		self.frame = frame
		self.order = order
		self.start() #start automatically
	
	def run(self):
		wx.CallAfter(self.frame.SetLocked, True)
		if self.pType == 0:
			for line in self.lines:
				if self.order:
					self.ParseFirstThread(line)
				else:
					self.ParseLastThread(line)
		elif self.pType == 1:
			self.ParseLastThread(self.lines)
		else:
			self.ParseFirstThread(self.lines)
		wx.CallAfter(self.frame.SetLocked, False)

	def ParseFirstThread(self, line):
		self.ParseLine(line)
		wx.CallAfter(self.frame.UiClear, False)

	def ParseLastThread(self, line):
		self.ParseLine(line);
		wx.CallAfter(self.frame.UiClear, True)

	def ParseLine(self, line):
		if self.parser.testURL(line):
			global HOME_DIR
			self.parser.downloadFromURL(line, HOME_DIR, self.frame)