from enigma import eDVBDB
from Components.NimManager import nimmanager
from enigma import eDVBCI_UI,eDVBCIInterfaces
+from Tools.Directories import resolveFilename, SCOPE_SYSETC
-class TestResultList(HTMLComponent, GUIComponent):
- def __init__(self, list, enableWrapAround=False, content=eListboxPythonStringContent):
- GUIComponent.__init__(self)
- self.list = list
- self.l = content()
- self.l.setList(self.list)
- self.onSelectionChanged = [ ]
- self.enableWrapAround = enableWrapAround
-
- def getCurrent(self):
- return self.l.getCurrentSelection()
-
- GUI_WIDGET = eListbox
-
+class TestResultList(MenuList):
def postWidgetCreate(self, instance):
self.instance.setSelectionEnable(0)
instance.setContent(self.l)
if self.enableWrapAround:
self.instance.setWrapAround(True)
- def preWidgetRemove(self, instance):
- instance.setContent(None)
- instance.selectionChanged.get().remove(self.selectionChanged)
-
- def selectionChanged(self):
- for f in self.onSelectionChanged:
- f()
-
- def getSelectionIndex(self):
- return self.l.getCurrentSelectionIndex()
-
- def getSelectedIndex(self):
- return self.l.getCurrentSelectionIndex()
-
- def setList(self, list):
- self.list = list
- self.l.setList(self.list)
-
def updateList(self, list):
self.list = list
self.l.setList(self.list)
- def moveToIndex(self, idx):
- if self.instance is not None:
- self.instance.moveSelectionTo(idx)
-
- def pageUp(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.pageUp)
-
- def pageDown(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.pageDown)
-
- def up(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.moveUp)
-
- def down(self):
- if self.instance is not None:
- self.instance.moveSelection(self.instance.moveDown)
-
- def selectionEnabled(self, enabled):
- if self.instance is not None:
- self.instance.setSelectionEnable(enabled)
-
class FactoryTest(Screen):
skin = """
<screen position="120,125" size="440,400" title="Test Menu" >
<widget name="resultlist" position="370,0" size="60,350" />
<widget name="testdate" position="20,350" size="150,25" font="Regular;22" />
<widget name="testversion" position="20,375" size="150,25" font="Regular;22" />
- <widget name="mactext" position="180,350" size="230,25" font="Regular;22" />
+ <widget name="mactext" position="180,350" size="230,25" font="Regular;22" />
</screen>"""
def __init__(self, session):
}, -2)
Screen.__init__(self, session)
- TESTPROGRAM_DATE = "2011-05-16"
+ TESTPROGRAM_DATE = self.getImageVersion() +" (v1.00)"
TESTPROGRAM_VERSION = "Version 01.10"
self.model = 0
self.smarttestIndex=3
tlist.append((" 3. Smartcard test",self.smarttestIndex))
self.tuner1_1testIndex=4
- tlist.append((" 4. T1 H 22K x 4:3 CVBS",self.tuner1_1testIndex))
+ tlist.append((" 4. T1/H/22K x /4:3/CVBS",self.tuner1_1testIndex))
self.tuner1_2testIndex=5
- tlist.append((" 5. T1 V 22k o 16:9 RGB",self.tuner1_2testIndex))
+ tlist.append((" 5. T1/V/22k o/16:9/RGB",self.tuner1_2testIndex))
self.tuner2_1testIndex=6
- tlist.append((" 6. T2 H 22k x 4:3 YC",self.tuner2_1testIndex))
+ tlist.append((" 6. T2/H/22k x/4:3/YC",self.tuner2_1testIndex))
self.tuner2_2testIndex=7
- tlist.append((" 7. T2 V 22k o 16:9 CVBS CAM",self.tuner2_2testIndex))
+ tlist.append((" 7. T2/V/22k o/16:9/CVBS/CAM",self.tuner2_2testIndex))
self.scarttestIndex=8
tlist.append((" 8. VCR Scart loop",self.scarttestIndex))
self.rs232testIndex=9
self.fdefaultIndex=11
tlist.append(("11. Factory default",self.fdefaultIndex))
self.shutdownIndex=12
- tlist.append(("12. Shutdown",self.shutdownIndex))
+ tlist.append(("12. Shutdown(Deep Standby)",self.shutdownIndex))
self.tuner_test_first_index = 4
self.tuner_test_last_index = 7
self.smarttestIndex=2
tlist.append((" 2. Smartcard test",self.smarttestIndex))
self.tuner1_1testIndex=3
- tlist.append((" 3. T1 H 22K x 4:3 CVBS",self.tuner1_1testIndex))
+ tlist.append((" 3. T1/H/22K x/4:3/CVBS",self.tuner1_1testIndex))
self.tuner2_2testIndex = self.tuner1_2testIndex=4
- tlist.append((" 4. T1 V 22k o 16:9 RGB CAM",self.tuner1_2testIndex))
+ tlist.append((" 4. T1/V/22k o/16:9/RGB/CAM",self.tuner1_2testIndex))
self.rs232testIndex=5
tlist.append((" 5. RS232 test",self.rs232testIndex))
self.ethernettestIndex=6
self.fdefaultIndex=7
tlist.append((" 7. Factory default",self.fdefaultIndex))
self.shutdownIndex=8
- tlist.append((" 8. Shutdown",self.shutdownIndex))
+ tlist.append((" 8. Shutdown(Deep Standby)",self.shutdownIndex))
self.tuner_test_first_index = 3
self.tuner_test_last_index = 4
getRatio = AspectRatio.pop(0) # ratio
AspectRatio.append(getRatio)
getColorFormat=ColorFormat.pop(0) # colorFormat
- menuname=" %d. T%d %s H 22k 0 %s %s" % (current_index, key+1, val["type"], getRatio, getColorFormat) #menuname
+ menuname=" %d. T%d/%s/H/22k x/%s/%s" % (current_index, key+1, val["type"], getRatio, getColorFormat) #menuname
print current_index
# current_index=4
- self.setTuneInfo(index=current_index, slot=key, type=val["type"], sat=val["sat1"], pol="H", tone=True, ratio=getRatio, color=getColorFormat, cam=False) # setTuneInfo
+ self.setTuneInfo(index=current_index, slot=key, type=val["type"], sat=val["sat1"], pol="H", tone=False, ratio=getRatio, color=getColorFormat, cam=False) # setTuneInfo
# self.setTuneInfo(current_index, key, val["type"], val["sat1"], "H", True, getRatio, getColorFormat, False) # setTuneInfo
tlist.append((menuname,current_index))
current_index+=1
getRatio = AspectRatio.pop(0)
AspectRatio.append(getRatio)
getColorFormat=ColorFormat.pop(0)
- menuname=" %d. T%d %s V 22k x %s %s" % (current_index, key+1, val["type"], getRatio, getColorFormat)
+ menuname=" %d. T%d/%s/V/22k o/%s/%s" % (current_index, key+1, val["type"], getRatio, getColorFormat)
if len(self.NimType) == key+1: # CAM test on/off
- menuname+=" CAM"
+ menuname+="/CAM"
camtest = True
else:
camtest = False
- self.setTuneInfo( index=current_index, slot=key, type=val["type"], sat=val["sat2"], pol="V", tone=False, ratio=getRatio, color=getColorFormat, cam=camtest)
+ self.setTuneInfo( index=current_index, slot=key, type=val["type"], sat=val["sat2"], pol="V", tone=True, ratio=getRatio, color=getColorFormat, cam=camtest)
tlist.append((menuname,current_index))
current_index+=1
# Chang : DVB -T or DVB-C
getRatio = AspectRatio.pop(0)
AspectRatio.append(getRatio)
getColorFormat=ColorFormat.pop(0)
- menuname=" %d. T%d %s %s %s" % (current_index, key+1, val["type"], getRatio, getColorFormat)
+ menuname=" %d. T%d/%s/%s/%s" % (current_index, key+1, val["type"], getRatio, getColorFormat)
if len(self.NimType) == key+1 and (additionalMenu is None or x != 0): # CAM test on/off
menuname+=" CAM"
camtest = True
tlist.append((" %d. Factory default" % current_index,self.fdefaultIndex))
current_index+=1
self.shutdownIndex=current_index
- tlist.append((" %d. Shutdown" % current_index,self.shutdownIndex))
+ tlist.append((" %d. Shutdown(Deep Standby)" % current_index,self.shutdownIndex))
self.menulength= len(tlist)
self["testlist"] = MenuList(tlist)
def getModelInfo(self):
getmodel = 0
if fileExists("/proc/stb/info/vumodel"):
- info = open("/proc/stb/info/vumodel").read().strip()
+ vumodel = open("/proc/stb/info/vumodel")
+ info=vumodel.read().strip()
+ vumodel.close()
if info == "duo":
self.model = 0
getmodel = 1
self.model = 4
getmodel = 1
print "getModelInfo : ultimo"
+
if getmodel == 0 and fileExists("/proc/stb/info/version"):
- info = open("/proc/stb/info/version").read()
+ vesion = open("/proc/stb/info/version")
+ info=version.read()
+ version.close()
if info[:2] == "14":
self.model = 1
print "getModelInfo : solo_"
self["testlist"].moveToIndex(index)
self["resultlist"].moveToIndex(index)
+ def getImageVersion(self):
+ date = 'xxxx-xx-xx'
+ file = open(resolveFilename(SCOPE_SYSETC, 'image-version'), 'r')
+ lines = file.readlines()
+ for x in lines:
+ splitted = x.split('=')
+ if splitted[0] == "version":
+ # YYYY MM DD hh mm
+ #0120 2005 11 29 01 16
+ #0123 4567 89 01 23 45
+ version = splitted[1]
+ year = version[4:8]
+ month = version[8:10]
+ day = version[10:12]
+ date = '-'.join((year, month, day))
+ break;
+ file.close()
+ return date
+
def getversion(self):
try:
fd = open("/proc/stb/info/version","r")
version = fd.read()
+ fd.close()
self["testversion"].setText(("Version %s"%version))
except:
self["testversion"].setText(("Version no load"))
result = 1
displayerror = 1
try:
- if fileExists("/media/hdd"):
- if access("/media/hdd",F_OK|R_OK|W_OK):
- dummy=open("/media/hdd/dummy03","w")
+ if fileExists("/autofs/sda1"):
+ if access("/autofs/sda1",F_OK|R_OK|W_OK):
+ dummy=open("/autofs/sda1/dummy03","w")
dummy.write("complete")
dummy.close()
- dummy=open("/media/hdd/dummy03","r")
+ dummy=open("/autofs/sda1/dummy03","r")
if dummy.readline()=="complete":
- print "/media/hdd - complete"
+ print "/autofs/sda1 - complete"
else:
- print "/media/hdd - readline error"
+ print "/autofs/sda1 - readline error"
result += 1
displayerror = 1
dummy.close()
- system("rm /media/hdd/dummy03")
+ system("rm /autofs/sda1/dummy03")
else:
- print "/media/hdd - rw access error"
+ print "/autofs/sda1 - rw access error"
result += 1
displayerror = 1
else:
- print "/media/hdd - file not exist"
+ print "/autofs/sda1 - file not exist"
result += 1
except:
- print "/media/hdd - exceptional error"
+ print "/autofs/sda1 - exceptional error"
result += 1
displayerror = 1
if result == 0:
- self.session.open( MessageBox, _("Sata & extend hdd test pass"), MessageBox.TYPE_INFO)
+ self.session.open( MessageBox, _("Sata & extend hdd test pass\nPress 'OK' button!"), MessageBox.TYPE_INFO)
self.rlist[self["testlist"].getCurrent()[1]]="pass"
elif result == 1:
if displayerror==1:
- self.session.open( MessageBox, _("One hdd test error"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("One hdd test error\nPress 'EXIT' button!"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
else:
self.satatimer.start(1100,True)
else:
if displayerror==1:
- self.session.open( MessageBox, _("Sata & extend hdd test error"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("Sata & extend hdd test error\nPress 'EXIT' button!"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
else:
self.satatimer.start(1100,True)
elif self.model == 1:
self.session.openWithCallback(self.displayresult ,FrontTest_solo)
elif self.model == 2 or self.model == 3 or self.model == 4:
- self.session.openWithCallback(self.displayresult ,FrontTest_solo)
+ self.session.openWithCallback(self.displayresult ,FrontTest_uno)
def displayresult(self):
global fronttest
if result < 0 :
result = 0
elif result == len(devices):
- self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
+ self.session.open( MessageBox, _("USB test pass %d devices\nPress 'OK' button!"%result), MessageBox.TYPE_INFO)
self.rlist[self["testlist"].getCurrent()[1]]="pass"
else:
if displayerror == 1:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(len(devices)-result)), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress 'EXIT' button!"%(len(devices)-result)), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
else:
self.usbtimer.start(1100,True)
def getModelInfo(self):
getmodel = 0
if fileExists("/proc/stb/info/vumodel"):
- info = open("/proc/stb/info/vumodel").read().strip()
+ vumodel = open("/proc/stb/info/vumodel")
+ info=vumodel.read().strip()
+ vumodel.close()
if info == "combo":
self.model = 2
getmodel = 1
getmodel = 1
print "getModelInfo : ultimo"
-
if getmodel == 0 and fileExists("/proc/stb/info/version"):
- info = open("/proc/stb/info/version").read()
+ version = open("/proc/stb/info/version")
+ info=version.read()
+ version.close()
# print info,info[:2]
if info[:2] == "14":
self.model = 1
self["actions"] = ActionMap(["DirectionActions", "OkCancelActions"],
{
"cancel": self.keyCancel,
- "ok" : self.keyCancel
+ "ok" : self.keyOk
}, -2)
Screen.__init__(self, session)
self["text"]=Label(("Testing Smartcard 1..."))
- self.step = 0
+ self.testok = 0
self.smartcardtimer = eTimer()
self.smartcardtimer.callback.append(self.check_smart_card)
self.closetimer = eTimer()
return
elif (index==1 or self.model==1):
smartcardtest = 1
- self.step = 1
+ self.testok = 1
self["text"].setText(_("Smart Card OK!!"))
self.closetimer.start(2000,True)
self.smartcardtimer.stop()
def keyCancel(self):
self.close()
+ def keyOk(self):
+ if self.testok == 1:
+ self.close()
+
fronttest = 0
def keyOk(self):
global fronttest
- self.fronttimer.stop()
- eSctest.getInstance().VFD_Close()
if self.step == 6:
fronttest = 1
- self.close()
+ self.fronttimer.stop()
+ eSctest.getInstance().VFD_Close()
+ self.close()
def FrontAnimate(self):
if (self.frontturnonoff==0):
eSctest.getInstance().turnoff_VFD()
self.fronttimer.start(1000,True)
+class FrontTest_uno(Screen):
+ skin = """
+ <screen name="FrontTest_uno" position="center,center" size="300,180" title="Front Test" >
+ <widget name="text" position="10,10" size="280,160" font="Regular;30" />
+ </screen>"""
+
+ def __init__(self, session):
+ self["actions"] = ActionMap(["DirectionActions", "OkCancelActions","GlobalActions"],
+ {
+ "ok": self.keyOk,
+ "cancel": self.keyCancel,
+ "left": self.keyleft,
+ "right": self.keyright,
+ "volumeUp": self.keyvolup,
+ "volumeDown": self.keyvoldown,
+ "power_down": self.keypower,
+ }, -2)
+
+ Screen.__init__(self, session)
+ self["text"]=Label(("Press Front CH -"))
+ self.step = 1
+ self.fronttimer= eTimer()
+ self.fronttimer.callback.append(self.FrontAnimate)
+ self.frontturnonoff = 0
+ eSctest.getInstance().VFD_Open()
+ self.keytimeout = eTimer()
+ self.keytimeout.callback.append(self.KeyTimeOut)
+ self.keytimeout.start(5000,True)
+ def KeyTimeOut(self):
+ if self.step == 1:
+ self["text"].setText(("Front CH - ERROR\nPress exit!"))
+ elif self.step == 2:
+ self["text"].setText(("Front CH + ERROR\nPress exit!"))
+ elif self.step == 3 :
+ self["text"].setText(("Front VOL - ERROR\nPress exit!"))
+ elif self.step == 4:
+ self["text"].setText(("Front VOL + ERROR\nPress exit!"))
+ elif self.step == 5:
+ self["text"].setText(("Front STANDBY ERROR\nPress exit!"))
+ self.step = 0
+
+ def keyleft(self):
+ if self.step== 1:
+ self.keytimeout.stop()
+ self.keytimeout.start(5000,True)
+ self.step = 2
+ self["text"].setText(_("Press Front CH +"))
+ def keyright(self):
+ if self.step== 2:
+ self.keytimeout.stop()
+ self.keytimeout.start(5000,True)
+ self.step = 3
+ self["text"].setText(_("Press Front VOL -"))
+
+ def keyvoldown(self):
+ if self.step== 3:
+ self.keytimeout.stop()
+ self.keytimeout.start(5000,True)
+ self.step = 4
+ self["text"].setText(_("Press Front VOL +"))
+
+ def keyvolup(self):
+ if self.step== 4:
+ self.keytimeout.stop()
+ self.keytimeout.start(5000,True)
+ self.step = 5
+ self["text"].setText(_("Press Front STANDBY"))
+
+ def keypower(self):
+ if self.step== 5:
+ self.keytimeout.stop()
+ self.step = 6
+ self.fronttimer.start(1000,True)
+ self["text"].setText(_("Front LED OK?\n\nyes-ok\nno-exit"))
+
+ def keyCancel(self):
+ global fronttest
+ self.fronttimer.stop()
+ eSctest.getInstance().VFD_Close()
+ fronttest = 0
+ self.close()
+
+ def keyOk(self):
+ global fronttest
+ if self.step == 6:
+ fronttest = 1
+ self.fronttimer.stop()
+ eSctest.getInstance().VFD_Close()
+ self.close()
+
+ def FrontAnimate(self):
+ if (self.frontturnonoff==0):
+ eSctest.getInstance().turnon_VFD()
+ self.frontturnonoff = 1
+ else:
+ self.frontturnonoff = 0
+ eSctest.getInstance().turnoff_VFD()
+ self.fronttimer.start(1000,True)
rstest = 0
rstest = 0
else:
rstest = 0
+ rs.close()
except:
- print 'error'
+ try:
+ if rs:
+ rs.close()
+ except:
+ pass
+ print 'except error'
rstest = 0
+ if rstest == 0:
+ self.session.open( MessageBox, _("RS232 Test Failed!\nPress 'EXIT' button!"), MessageBox.TYPE_ERROR)
self.close()
def keyCancel(self):