diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-04-21 16:30:28 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-04-21 16:30:28 +0000 |
| commit | 8a7fd294aeb67932e1057bf967958bbe5a959cfb (patch) | |
| tree | 7952e555079d7aaf3fa1ffbcf5f6e9a4a0bba87c /components.py | |
| parent | 094378485e220c9866ec449d4e0e3114a3f1c34d (diff) | |
| download | enigma2-8a7fd294aeb67932e1057bf967958bbe5a959cfb.tar.gz enigma2-8a7fd294aeb67932e1057bf967958bbe5a959cfb.zip | |
- improved scan error handling
Diffstat (limited to 'components.py')
| -rw-r--r-- | components.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/components.py b/components.py index deb3760c..af0fbffa 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): |
