X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=components.py;fp=components.py;h=af0fbffa6441814ea8891ab6689e8225bedada39;hp=deb3760cccef06db3ffd3b0ae8294b910ca092d4;hb=8a7fd294aeb67932e1057bf967958bbe5a959cfb;hpb=094378485e220c9866ec449d4e0e3114a3f1c34d diff --git a/components.py b/components.py index deb3760..af0fbff 100644 --- a/components.py +++ b/components.py @@ -312,12 +312,25 @@ class ServiceScan: Running = 2 Done = 3 Error = 4 + + Errors = { + 1: "error while scanning", + 2: "no resource manager", + 3: "no channel list" + } + def scanStatusChanged(self): if self.state == self.Running: self.progressbar.setValue(self.scan.getProgress()) if self.scan.isDone(): - self.state = self.Done + errcode = self.scan.getError() + + if errcode == 0: + self.state = self.Done + else: + self.state = self.Error + self.errorcode = errcode else: self.text.setText("scan in progress - %d %% done!\n%d services found!" % (self.scan.getProgress(), self.scan.getNumServices())) @@ -325,7 +338,7 @@ class ServiceScan: self.text.setText("scan done!") if self.state == self.Error: - self.text.setText("ERROR - failed to scan!") + self.text.setText("ERROR - failed to scan (%s)!" % (self.Errors[self.errorcode]) ) def __init__(self, progressbar, text): self.progressbar = progressbar @@ -336,10 +349,10 @@ class ServiceScan: def execBegin(self): self.scan.statusChanged.get().append(self.scanStatusChanged) + self.state = self.Running if self.scan.start(): self.state = self.Error - else: - self.state = self.Running + self.scanStatusChanged() def execEnd(self):