1 from Screens.Screen import Screen
2 from Screens.MessageBox import MessageBox
3 from Plugins.Plugin import PluginDescriptor
4 from Components.MenuList import MenuList
5 from Tools.Directories import fileExists
6 from Components.ServiceList import ServiceList
7 from Components.ActionMap import ActionMap,NumberActionMap
8 from Components.config import config
9 from os import system,access,F_OK,R_OK,W_OK
10 from Components.Label import Label
11 from Components.AVSwitch import AVSwitch
12 from time import sleep
13 from Components.Console import Console
14 from enigma import eTimer
15 from Components.HTMLComponent import HTMLComponent
16 from Components.GUIComponent import GUIComponent
17 from enigma import eListboxPythonStringContent, eListbox, gFont, eServiceCenter, eDVBResourceManager
18 from enigma import eServiceReference
19 from enigma import eMemtest
20 from enigma import eSctest
21 from enigma import eDVBDB
22 from Components.NimManager import nimmanager
23 from enigma import eDVBCI_UI,eDVBCIInterfaces
25 class TestResultList(HTMLComponent, GUIComponent):
26 def __init__(self, source):
27 GUIComponent.__init__(self)
28 self.l = eListboxPythonStringContent()
30 self.l.setList(self.list)
34 def postWidgetCreate(self, instance):
35 self.instance.setSelectionEnable(0)
36 self.instance.setContent(self.l)
38 def updateList(self,list):
41 class FactoryTest(Screen):
43 <screen position="120,125" size="440,400" title="Test Menu" >
44 <widget name="testlist" position="10,0" size="340,350" />
45 <widget name="resultlist" position="370,0" size="60,350" />
46 <widget name="testdate" position="20,350" size="150,25" font="Regular;22" />
47 <widget name="testversion" position="20,375" size="150,25" font="Regular;22" />
48 <widget name="mactext" position="180,350" size="230,25" font="Regular;22" />
50 def __init__(self, session):
52 self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions","ColorActions"],
56 "ok": self.TestAction,
57 "testexit": self.keyCancel,
58 "agingstart": self.Agingmode,
61 "0": self.numberaction,
62 "1": self.numberaction,
63 "2": self.numberaction,
64 "3": self.numberaction,
65 "4": self.numberaction,
66 "5": self.numberaction,
67 "6": self.numberaction,
68 "7": self.numberaction,
69 "8": self.numberaction,
70 "9": self.numberaction,
71 "red": self.shutdownaction,
74 Screen.__init__(self, session)
75 TESTPROGRAM_DATE = "2010-06-09"
76 TESTPROGRAM_VERSION = "Version 00.01"
81 self["testdate"]=Label((TESTPROGRAM_DATE))
82 self["testversion"]=Label(("Loading version..."))
83 self["mactext"]=Label(("Loading mac address..."))
84 nimConfig = nimmanager.getNimConfig(0)
85 nimConfig.configMode.slot_id=0
86 nimConfig.configMode.value= "simple"
87 nimConfig.diseqcMode.value="diseqc_a_b"
88 nimConfig.diseqcA.value="160"
89 nimConfig.diseqcB.value="100"
91 nimConfig = nimmanager.getNimConfig(1)
92 nimConfig.configMode.slot_id=1
93 nimConfig.configMode.value= "simple"
94 nimConfig.diseqcMode.value="diseqc_a_b"
95 nimConfig.diseqcA.value="130"
96 nimConfig.diseqcB.value="192"
97 nimmanager.sec.update()
99 system("cp /usr/lib/enigma2/python/Plugins/SystemPlugins/FactoryTest/testdb /etc/enigma2/lamedb")
100 db = eDVBDB.getInstance()
101 db.reloadServicelist()
106 tlist.append((" 0. Sata & extend hdd test",self.satetestIndex))
108 tlist.append((" 1. USB test",self.usbtestIndex))
109 self.fronttestIndex=2
110 tlist.append((" 2. Front test",self.fronttestIndex))
111 self.smarttestIndex=3
112 tlist.append((" 3. Smartcard test",self.smarttestIndex))
113 self.tuner1_1testIndex=4
114 tlist.append((" 4. T1 H 22K x 4:3 CVBS",self.tuner1_1testIndex))
115 self.tuner1_2testIndex=5
116 tlist.append((" 5. T1 V 22k o 16:9 RGB",self.tuner1_2testIndex))
117 self.tuner2_1testIndex=6
118 tlist.append((" 6. T2 H 22k x 4:3 YC",self.tuner2_1testIndex))
119 self.tuner2_2testIndex=7
120 tlist.append((" 7. T2 V 22k o 16:9 CVBS CAM",self.tuner2_2testIndex))
121 self.scarttestIndex=8
122 tlist.append((" 8. VCR Scart loop",self.scarttestIndex))
123 self.rs232testIndex=9
124 tlist.append((" 9. RS232 test",self.rs232testIndex))
125 self.ethernettestIndex=10
126 tlist.append(("10. Ethernet & mac test",self.ethernettestIndex))
127 # tlist.append(("11. DRAM test",11))
128 # tlist.append(("12. Flash test",12))
129 # tlist.append(("13. DRAM+Flash test",13))
130 self.fdefaultIndex=11
131 tlist.append(("11. Factory default",self.fdefaultIndex))
132 self.shutdownIndex=12
133 tlist.append(("12. Shutdown",self.shutdownIndex))
134 elif self.model == 1:
135 # tlist.append((" 0. Sata & extend hdd test",self.satetestIndex=0))
136 self.satetestIndex = -1
137 self.scarttestIndex = -1
142 tlist.append((" 0. USB test",self.usbtestIndex))
143 self.fronttestIndex=1
144 tlist.append((" 1. Front test",self.fronttestIndex))
145 self.smarttestIndex=2
146 tlist.append((" 2. Smartcard test",self.smarttestIndex))
147 self.tuner1_1testIndex=3
148 tlist.append((" 3. T1 H 22K x 4:3 CVBS",self.tuner1_1testIndex))
149 self.tuner1_2testIndex=4
150 tlist.append((" 4. T1 V 22k o 16:9 RGB CAM",self.tuner1_2testIndex))
151 self.tuner2_2testIndex=4
152 # tlist.append((" 6. T2 H 22k x 4:3 YC",self.tuner2_1testIndex=6))
153 # tlist.append((" 7. T2 V 22k o 16:9 CVBS CAM",self.tuner2_2testIndex=7))
154 # tlist.append((" 8. VCR Scart loop",self.scarttestIndex=8))
155 self.rs232testIndex=5
156 tlist.append((" 5. RS232 test",self.rs232testIndex))
157 self.ethernettestIndex=6
158 tlist.append((" 6. Ethernet & mac test",self.ethernettestIndex))
159 # tlist.append(("11. DRAM test",11))
160 # tlist.append(("12. Flash test",12))
161 # tlist.append(("13. DRAM+Flash test",13))
163 tlist.append((" 7. Factory default",self.fdefaultIndex))
165 tlist.append((" 8. Shutdown",self.shutdownIndex))
166 self.menulength= len(tlist)-1
167 self["testlist"] = MenuList(tlist)
169 # for x in range(15):
170 # for x in range(12):
171 for x in range(self.menulength):
172 self.rlist.append((".."))
173 self["resultlist"] = TestResultList(self.rlist)
174 self.NetworkState = 0
177 self.avswitch = AVSwitch()
178 self.memTest = eMemtest()
179 self.scTest= eSctest()
185 self.servicelist = ServiceList()
186 self.oldref = session.nav.getCurrentlyPlayingServiceReference()
187 print "oldref",self.oldref
188 session.nav.stopService() # try to disable foreground service
190 self.tunemsgtimer = eTimer()
191 self.tunemsgtimer.callback.append(self.tunemsg)
194 self.camtimer = eTimer()
195 self.camtimer.callback.append(self.cam_state)
200 self.tuningtimer = eTimer()
201 self.tuningtimer.callback.append(self.updateStatus)
204 self.satatimer = eTimer()
205 self.satatimer.callback.append(self.sataCheck)
207 def getModelInfo(self):
208 info = open("/proc/stb/info/version").read()
212 elif info[:2] == "12":
222 if self["testlist"].getCurrent()[1]==0:
223 self["testlist"].moveToIndex(self.menulength)
225 self["testlist"].up()
231 if self["testlist"].getCurrent()[1]==(self.menulength):
232 self["testlist"].moveToIndex(0)
234 self["testlist"].down()
236 def numberaction(self, number):
240 self["testlist"].moveToIndex(index)
243 def updateStatus(self):
244 index = self["testlist"].getCurrent()[1]
245 if index ==self.tuner1_1testIndex or index==self.tuner1_2testIndex:
247 result = eSctest.getInstance().getFrontendstatus(0)
250 result = eSctest.getInstance().getFrontendstatus(1)
252 if self.agingmode == 1:
254 result = eSctest.getInstance().getFrontendstatus(0)
257 if index == self.tuner1_2testIndex or index==self.tuner2_2testIndex:
262 print "eSctest.getInstance().getFrontendstatus - %d"%result
265 self.tunemsgtimer.stop()
266 self.session.nav.stopService()
267 self.session.open( MessageBox, _("Tune%d %s Locking Fail..."%(tunno,hv)), MessageBox.TYPE_ERROR)
268 if self.agingmode==0:
269 self.rlist[self["testlist"].getCurrent()[1]]="fail"
273 if self.agingmode==1:
274 self.session.openWithCallback(self.checkaging,AgingTest)
276 def getversion(self):
278 fd = open("/proc/stb/info/version","r")
280 self["testversion"].setText(("Version %s"%version))
282 self["testversion"].setText(("Version no load"))
285 def readmac(self, result, retval,extra_args=None):
286 (statecallback) = extra_args
287 if self.macConsole is not None:
289 self.macConsole = None
290 content =result.split()
291 self["mactext"].setText(("MAC : "+content[10]))
293 def getmacaddr(self):
296 self.macConsole = Console()
297 self.macConsole.ePopen(cmd, self.readmac)
298 # self["stattext"].setText((macaddr))
302 def TestAction(self):
304 # tlist.append((" 0. Sata & extend hdd test",self.satetestIndex=0))
305 # tlist.append((" 1. USB test",self.usbtestIndex=1))
306 # tlist.append((" 2. Front test",self.fronttestIndex=2))
307 # tlist.append((" 3. Smartcard test",self.smarttestIndex=3))
308 # tlist.append((" 4. T1 H 22K x 4:3 CVBS",self.tuner1_1testIndex=4))
309 # tlist.append((" 5. T1 V 22k o 16:9 RGB",self.tuner1_2testIndex=5))
310 # tlist.append((" 6. T2 H 22k x 4:3 YC",self.tuner2_1testIndex=6))
311 # tlist.append((" 7. T2 V 22k o 16:9 CVBS CAM",self.tuner2_2testIndex=7))
312 # tlist.append((" 8. VCR Scart loop",self.scarttestIndex=8))
313 # tlist.append((" 9. RS232 test",self.rs232testIndex=9))
314 # tlist.append(("10. Ethernet & mac test",self.ethernettestIndex=10))
315 # tlist.append(("11. DRAM test",11))
316 # tlist.append(("12. Flash test",12))
317 # tlist.append(("13. DRAM+Flash test",13))
318 # tlist.append(("11. Factory default",self.fdefaultIndex=11))
319 # tlist.append(("12. Shutdown",self.shutdownIndex=12))
323 print "line - ",self["testlist"].getCurrent()[1]
324 index = self["testlist"].getCurrent()[1]
326 if index==self.satetestIndex:
328 elif index==self.fronttestIndex:
330 elif index>=self.tuner1_1testIndex and index<=self.tuner2_2testIndex:
332 elif index==self.scarttestIndex:
334 elif index==self.rs232testIndex:
336 elif index==self.usbtestIndex:
338 elif index==self.ethernettestIndex:
340 elif index == self.smarttestIndex:
348 elif index==self.fdefaultIndex:
350 # elif index==self.shutdownIndex:
353 def shutdownaction(self):
354 if self["testlist"].getCurrent()[1] == self.shutdownIndex:
360 self.satatimer.start(100,True)
363 # print "try", self.satatry
364 if self.satatry == 0:
367 self.rlist[self["testlist"].getCurrent()[1]]="try %d"%self.satatry
368 self["resultlist"].updateList(self.rlist)
374 mtab = open('/etc/mtab','r')
376 disk = mtab.readline().split(' ')
379 if disk[1].startswith('/media/hdd'):
381 elif disk[1].startswith('/media/sdb1'):
390 self.session.open( MessageBox, _("Sata & extend hdd test error"), MessageBox.TYPE_ERROR)
391 self.rlist[self["testlist"].getCurrent()[1]]="fail"
393 self.satatimer.start(1100,True)
397 self.session.open( MessageBox, _("one hdd test error"), MessageBox.TYPE_ERROR)
398 self.rlist[self["testlist"].getCurrent()[1]]="fail"
400 self.satatimer.start(1100,True)
404 if fileExists("/media/sdb1"):
405 if access("/media/sdb1",F_OK|R_OK|W_OK):
406 dummy=open("/media/sdb1/dummy03","w")
407 dummy.write("complete")
409 dummy=open("/media/sdb1/dummy03","r")
410 if dummy.readline()=="complete":
415 system("rm /media/sdb1/dummy03")
423 if fileExists("/media/hdd"):
424 if access("/media/hdd",F_OK|R_OK|W_OK):
425 dummy=open("/media/hdd/dummy03","w")
426 dummy.write("complete")
428 dummy=open("/media/hdd/dummy03","r")
429 if dummy.readline()=="complete":
434 system("rm /media/hdd/dummy03")
443 self.session.open( MessageBox, _("Sata & extend hdd test pass"), MessageBox.TYPE_INFO)
444 self.rlist[self["testlist"].getCurrent()[1]]="pass"
447 self.session.open( MessageBox, _("one hdd test error"), MessageBox.TYPE_ERROR)
448 self.rlist[self["testlist"].getCurrent()[1]]="fail"
450 self.satatimer.start(1100,True)
453 self.session.open( MessageBox, _("Sata & extend hdd test error"), MessageBox.TYPE_ERROR)
454 self.rlist[self["testlist"].getCurrent()[1]]="fail"
456 self.satatimer.start(1100,True)
460 self.session.openWithCallback(self.displayresult ,FrontTest)
461 elif self.model == 1:
462 self.session.openWithCallback(self.displayresult ,FrontTest_solo)
464 def displayresult(self):
467 self.rlist[self["testlist"].getCurrent()[1]]="pass"
469 self.rlist[self["testlist"].getCurrent()[1]]="fail"
471 INTERNAL_PID_STATUS_NOOP = 0
472 INTERNAL_PID_STATUS_WAITING = 1
473 INTERNAL_PID_STATUS_SUCCESSFUL = 2
474 INTERNAL_PID_STATUS_FAILED = 3
476 def TestTune(self,index):
477 if self.oldref is None:
478 eref = eServiceReference("1:0:19:1324:3EF:1:C00000:0:0:0")
479 serviceHandler = eServiceCenter.getInstance()
480 servicelist = serviceHandler.list(eref)
481 if not servicelist is None:
482 ref = servicelist.getNext()
484 ref = self.getCurrentSelection()
485 print "servicelist none"
488 self.session.nav.stopService() # try to disable foreground service
489 if index==self.tuner1_1testIndex:
494 ref.setData(4,0xA00000)
495 self.session.nav.playService(ref)
496 self.avswitch.setColorFormat(0)
497 self.avswitch.setAspectRatio(0)
498 elif index==self.tuner1_2testIndex:
501 self.camtimer.start(100,True)
503 ref.setData(1,0x1325)
506 ref.setData(4,0x64af79)
507 # ref.setData(0,0x19)
508 # ref.setData(1,0x83)
510 # ref.setData(3,0x85)
511 # ref.setData(4,0x640000)
512 self.session.nav.playService(ref)
513 self.avswitch.setColorFormat(1)
514 self.avswitch.setAspectRatio(6)
515 elif index==self.tuner2_1testIndex:
517 # self.camtimer.start(100,True)
522 ref.setData(4,0x820000)
523 self.session.nav.playService(ref)
524 self.avswitch.setColorFormat(2)
525 self.avswitch.setAspectRatio(0)
526 elif index==self.tuner2_2testIndex:
528 self.camtimer.start(100,True)
529 # ref.setData(0,0x19)
530 # ref.setData(1,0x83)
532 # ref.setData(3,0x85)
533 # ref.setData(4,0xC00000)
534 # ikseong - for 22000 tp ( /home/ikseong/share/lamedb_ORF)
536 ref.setData(1,0x1325)
539 ref.setData(4,0xC00000)
540 self.session.nav.playService(ref)
541 self.avswitch.setColorFormat(0)
542 self.avswitch.setAspectRatio(6)
543 self.tuningtimer.start(2000,True)
544 self.tunemsgtimer.start(3000, True)
547 if self.camstep == 1:
549 state = eDVBCI_UI.getInstance().getState(slot)
550 print '-1-stat',state
553 self.camtimer.start(100,True)
555 self.session.nav.stopService()
556 self.session.open( MessageBox, _("CAM1_NOT_INSERTED\nPress exit!"), MessageBox.TYPE_ERROR)
557 self.rlist[self["testlist"].getCurrent()[1]]="fail"
558 self.tunemsgtimer.stop()
559 # self.rlist[index]="fail"
560 # self["resultlist"].updateList(self.rlist)
561 elif self.camstep == 2:
563 appname = eDVBCI_UI.getInstance().getAppName(slot)
564 print 'appname',appname
566 self.session.nav.stopService()
567 self.session.open( MessageBox, _("NO_GET_APPNAME\nPress exit!"), MessageBox.TYPE_ERROR)
568 self.rlist[self["testlist"].getCurrent()[1]]="fail"
569 self.tunemsgtimer.stop()
572 self.camtimer.start(100,True)
573 elif self.camstep==3:
575 state = eDVBCI_UI.getInstance().getState(slot)
576 print '-2-stat',state
579 self.camtimer.start(100,True)
581 self.session.nav.stopService()
582 self.session.open( MessageBox, _("CAM2_NOT_INSERTED\nPress exit!"), MessageBox.TYPE_ERROR)
583 self.rlist[self["testlist"].getCurrent()[1]]="fail"
584 self.tunemsgtimer.stop()
585 # self.rlist[index]="fail"
586 # self["resultlist"].updateList(self.rlist)
587 elif self.camstep == 4:
589 appname = eDVBCI_UI.getInstance().getAppName(slot)
590 print 'appname',appname
592 self.session.nav.stopService()
593 self.session.open( MessageBox, _("NO_GET_APPNAME\nPress exit!"), MessageBox.TYPE_ERROR)
594 self.rlist[self["testlist"].getCurrent()[1]]="fail"
595 self.tunemsgtimer.stop()
599 # self.session.open( MessageBox, _("CAM OK!"), MessageBox.TYPE_INFO,2)
601 # ikseong - for 22000 tp
603 filename = ("/proc/stb/tsmux/ci0_input")
604 fd = open(filename,'w')
608 # filename = ("/proc/stb/tsmux/ci1_input")
609 # fd = open(filename,'w')
612 fd=open("/proc/stb/tsmux/input1","w")
613 # fd=open("/proc/stb/tsmux/input0","w")
616 print "CI loop test!!!!!!!!!!!!!!"
618 def resetSource(self):
619 fd=open("/proc/stb/tsmux/input1","w")
622 print "CI loop test end!!!!!!!!!!!!!!"
625 self.tuningtimer.stop()
626 self.session.openWithCallback(self.tuneback, MessageBox, _("%s ok?" %(self["testlist"].getCurrent()[0])), MessageBox.TYPE_YESNO)
628 def tuneback(self,yesno):
629 self.session.nav.stopService() # try to disable foreground service
631 self.rlist[self["testlist"].getCurrent()[1]]="pass"
632 if self.tunerlock == 0:
633 self.rlist[self["testlist"].getCurrent()[1]]="fail"
634 elif self["testlist"].getCurrent()[1] == 7 and self.camstep < 5:
635 self.rlist[self["testlist"].getCurrent()[1]]="fail"
637 self.rlist[self["testlist"].getCurrent()[1]]="fail"
638 if self["testlist"].getCurrent()[1] == 6:
639 self.avswitch.setColorFormat(0)
641 self["resultlist"].updateList(self.rlist)
644 self.avswitch.setInput("SCART")
646 self.session.openWithCallback(self.check6, MessageBox, _("Scart loop ok?"), MessageBox.TYPE_YESNO)
648 def check6(self,yesno):
650 self.rlist[self["testlist"].getCurrent()[1]]="pass"
652 self.rlist[self["testlist"].getCurrent()[1]]="fail"
653 self.avswitch.setInput("ENCODER")
658 self.rlist[self["testlist"].getCurrent()[1]]="pass"
660 self.rlist[self["testlist"].getCurrent()[1]]="fail"
663 self.session.openWithCallback(self.check7,RS232Test)
668 if self.oldref is None:
669 eref = eServiceReference("1:0:19:1324:3EF:1:C00000:0:0:0")
670 serviceHandler = eServiceCenter.getInstance()
671 servicelist = serviceHandler.list(eref)
672 if not servicelist is None:
673 ref = servicelist.getNext()
675 ref = self.getCurrentSelection()
676 print "servicelist none"
679 self.session.nav.stopService() # try to disable foreground service
681 ref.setData(1,0x1325)
684 ref.setData(4,0x64af79)
686 # ref.setData(1,0x6D3)
688 # ref.setData(3,0xA4)
689 # ref.setData(4,0xA00000)
690 self.session.nav.playService(ref)
691 self.avswitch.setColorFormat(0)
692 self.avswitch.setAspectRatio(0)
693 self.tuningtimer.start(2000,True)
696 def checkaging(self):
699 self["testlist"].moveToIndex(self.fdefaultIndex)
701 self["testlist"].moveToIndex(self.shotdownIndex)
703 # self["testlist"].instance.moveSelection(self["testlist"].instance.moveDown)
711 mtab = open('/etc/mtab','r')
713 disk = mtab.readline().split(' ')
716 if disk[1].startswith('/media/hdd'):
718 elif disk[1].startswith('/media/sdb1'):
720 elif disk[1].startswith('/media/sd'):
726 self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
727 self.rlist[self["testlist"].getCurrent()[1]]="pass"
729 self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(3-result)), MessageBox.TYPE_ERROR)
730 self.rlist[self["testlist"].getCurrent()[1]]="fail"
735 self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
736 self.rlist[self["testlist"].getCurrent()[1]]="pass"
738 self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(3-result)), MessageBox.TYPE_ERROR)
739 self.rlist[self["testlist"].getCurrent()[1]]="fail"
743 mtab = open('/etc/mtab','r')
745 disk = mtab.readline().split(' ')
748 if disk[1].startswith('/media/'):
754 self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
755 self.rlist[self["testlist"].getCurrent()[1]]="pass"
757 self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(2-result)), MessageBox.TYPE_ERROR)
758 self.rlist[self["testlist"].getCurrent()[1]]="fail"
763 self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
764 self.rlist[self["testlist"].getCurrent()[1]]="pass"
766 self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(2-result)), MessageBox.TYPE_ERROR)
767 self.rlist[self["testlist"].getCurrent()[1]]="fail"
772 # system("/etc/init.d/networking stop")
773 system("ifconfig eth0 192.168.0.10")
774 # system("/etc/init.d/networking start")
775 cmd1 = "ping -c 1 192.168.0.100"
776 self.PingConsole = Console()
777 self.PingConsole.ePopen(cmd1, self.checkNetworkStateFinished,self.NetworkStatedataAvail)
779 def checkNetworkStateFinished(self, result, retval,extra_args):
780 (statecallback) = extra_args
781 if self.PingConsole is not None:
783 self.PingConsole = None
784 content = result.splitlines()
785 # print 'content',content
786 x = content[4].split()
796 def NetworkStatedataAvail(self,data):
801 # self.session.open( MessageBox, _("Ping test pass"), MessageBox.TYPE_INFO,2)
802 self.session.openWithCallback(self.openMacConfig ,MessageBox, _("Ping test pass"), MessageBox.TYPE_INFO,2)
807 self.session.open( MessageBox, _("Ping test fail\nPress exit"), MessageBox.TYPE_ERROR)
813 def openMacConfig(self, ret=False):
814 self.session.openWithCallback(self.macresult ,MacConfig)
819 self.rlist[self.ethernettestIndex]="pass"
820 # self.rlist[self["testlist"].getCurrent()[1]]="pass"
822 self.rlist[self.ethernettestIndex]="fail"
823 # self.rlist[self["testlist"].getCurrent()[1]]="fail"
827 def MemTest(self, which):
831 result = eMemtest.getInstance().dramtest()
833 result = eMemtest.getInstance().flashtest()
836 result = eMemtest.getInstance().dramtest()
837 result = eMemtest.getInstance().flashtest()
843 print index,self.rlist[index]
844 self.rlist[index]="pass"
846 print index,self.rlist[index]
847 self.rlist[index]="fail"
848 self["resultlist"].updateList(self.rlist)
850 def scciresult(self):
852 if smartcardtest == 1:
853 self.rlist[self["testlist"].getCurrent()[1]]="pass"
855 self.rlist[self["testlist"].getCurrent()[1]]="fail"
858 self.session.openWithCallback(self.scciresult ,SmartCardTest)
872 system("rm -R /etc/enigma2")
873 system("cp -R /usr/share/enigma2/defaults /etc/enigma2")
874 self.rlist[self["testlist"].getCurrent()[1]]="pass"
875 self["resultlist"].updateList(self.rlist)
877 self.rlist[self["testlist"].getCurrent()[1]]="fail"
878 self["resultlist"].updateList(self.rlist)
879 self.session.open( MessageBox, _("Factory reset fail"), MessageBox.TYPE_ERROR)
882 self.session.openWithCallback(self.shutdown ,MessageBox, _("Do you want to shut down?"), MessageBox.TYPE_YESNO)
884 def shutdown(self, yesno):
887 system("/usr/bin/showiframe /boot/backdrop.mvi")
899 class MacConfig(Screen):
901 <screen position="100,250" size="520,100" title="Mac Config" >
902 <eLabel text="Mac Address " position="10,15" size="200,40" font="Regular;30" />
903 <widget name="text" position="230,15" size="230,40" font="Regular;30" />
904 <widget name="text1" position="470,15" size="40,40" font="Regular;30" />
905 <eLabel text=" " position="5,55" zPosition="-1" size="510,5" backgroundColor="#02e1e8e6" />
906 <widget name="stattext" position="30,75" size="400,25" font="Regular;20" />
909 def __init__(self, session):
910 self["actions"] = ActionMap(["DirectionActions","OkCancelActions"],
913 "left": self.keyleft,
914 "right": self.keyright,
915 "cancel": self.keyCancel,
918 Screen.__init__(self, session)
922 self.macaddr = "000000000000"
923 self.NetworkState = 0
924 self["text"]=Label((self.macaddr))
925 self["text1"]= Label(("< >"))
926 self["stattext"]= Label((""))
935 def loadmacaddr(self):
939 mtab = open('/etc/mtab','r')
941 disk = mtab.readline().split(' ')
944 if disk[1].startswith('/media/sd') or disk[1].startswith('/media/hdd'):
945 print 'try..',disk[1]
946 if fileExists(disk[1]+"/macinfo.txt"):
947 self.macfd = open(disk[1]+"/macinfo.txt","r+")
950 self["text"].setText(("cannot read usb!!"))
951 self["text1"].setText((" "))
952 self["stattext"].setText((" Press Exit Key."))
956 macaddr=self.macfd.readline().split(":")
957 self.macaddr=macaddr[1]+macaddr[2]+macaddr[3]+macaddr[4]+macaddr[5]+macaddr[6]
959 self.NetworkState = 1
961 self["text"].setText(("cannot read usb!!"))
962 self["text1"].setText((" "))
963 self["stattext"].setText((" Press Exit Key."))
965 # self.session.open( MessageBox, _("Mac address fail"), MessageBox.TYPE_ERROR)
967 def readmac(self, result, retval,extra_args=None):
968 (statecallback) = extra_args
969 if self.macConsole is not None:
971 self.macConsole = None
972 content =result.split()
973 self["stattext"].setText(("now : "+content[10]))
975 def getmacaddr(self):
976 if self.NetworkState==0:
980 self.macConsole = Console()
981 self.macConsole.ePopen(cmd, self.readmac)
982 # self["stattext"].setText((macaddr))
987 if self.NetworkState==0 or self.pingok<1:
989 macaddress = long(self.macaddr,16)-1
991 macaddress = 0xffffffffffff
992 self.macaddr = "%012x"%macaddress
996 if self.NetworkState==0 or self.pingok<1:
998 macaddress = long(self.macaddr,16)+1
999 if macaddress > 0xffffffffffff:
1001 self.macaddr = "%012x"%macaddress
1004 def displaymac(self):
1005 macaddr= self.macaddr
1006 self["text"].setText(("%02x:%02x:%02x:%02x:%02x:%02x"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))))
1009 if self.NetworkState==0 or self.pingok<1:
1012 system("/etc/init.d/networking stop")
1013 system("ifconfig eth0 down")
1014 macaddr = self.macaddr
1015 #make_mac_sector 00-99-99-99-00-00 > /tmp/mac.sector
1016 #flash_eraseall /dev/mtd4
1017 #nandwrite /dev/mtd4 /tmp/mac.sector -p
1018 cmd = "make_mac_sector %02x-%02x-%02x-%02x-%02x-%02x > /tmp/mac.sector"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))
1020 system("flash_eraseall /dev/mtd4")
1021 system("nandwrite /dev/mtd4 /tmp/mac.sector -p")
1022 macaddrcmd="ifconfig eth0 hw ether %02x:%02x:%02x:%02x:%02x:%02x"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))
1024 macaddress = long(macaddr,16)+1
1025 if macaddress > 0xffffffffffff:
1027 macaddr = "%012x"%macaddress
1028 macwritetext = "MAC:%02x:%02x:%02x:%02x:%02x:%02x"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))
1030 self.macfd.write(macwritetext)
1031 self.macaddr = macaddr
1032 system("ifconfig eth0 up")
1034 system("ifconfig eth0 192.168.0.10")
1035 system("/etc/init.d/networking start")
1038 self.session.open( MessageBox, _("Mac address fail"), MessageBox.TYPE_ERROR)
1044 self["stattext"].setText(("now : wait to finish ping test..."))
1045 # system("/etc/init.d/networking stop")
1046 system("ifconfig eth0 192.168.0.10")
1047 # system("/etc/init.d/networking start")
1048 cmd1 = "ping -c 1 192.168.0.100"
1049 self.PingConsole = Console()
1050 self.PingConsole.ePopen(cmd1, self.checkNetworkStateFinished,self.NetworkStatedataAvail)
1052 def checkNetworkStateFinished(self, result, retval,extra_args):
1053 (statecallback) = extra_args
1054 if self.PingConsole is not None:
1056 self.PingConsole = None
1057 content = result.splitlines()
1058 # print 'content',content
1059 x = content[4].split()
1069 def NetworkStatedataAvail(self,data):
1077 self.session.open( MessageBox, _("Ping test pass"), MessageBox.TYPE_INFO,2)
1082 self["stattext"].setText(("ping test fail.. press Exit Key"))
1083 self.session.open( MessageBox, _("Ping test fail"), MessageBox.TYPE_ERROR,2)
1087 def keyCancel(self):
1088 if self.pingok == -1:
1100 class ScCiTest(Screen):
1102 <screen position="120,225" size="440,200" title="CI Smartcard Test" >
1103 <widget name="testlist" position="10,0" size="340,120" />
1104 <widget name="resultlist" position="370,0" size="60,120" />
1105 <eLabel text=" " position="5,125" zPosition="-1" size="430,5" backgroundColor="#02e1e8e6" />
1106 <widget name="text" position="10,140" size="420,50" font="Regular;25" />
1109 def __init__(self, session):
1110 self["actions"] = ActionMap(["DirectionActions","OkCancelActions"],
1115 "cancel": self.keyCancel,
1118 Screen.__init__(self, session)
1120 tlist.append(("Smartcard 1 Test",0))
1121 tlist.append(("Smartcard 2 Test",1))
1122 tlist.append(("CI 1 Test",2))
1123 tlist.append(("CI 2 Test",3))
1124 self["testlist"] = MenuList(tlist)
1127 self.rlist.append((".."))
1128 self["resultlist"] = TestResultList(self.rlist)
1130 self.removecard = eTimer()
1131 self.removecard.callback.append(self.remove_card)
1132 self["text"]=Label(("Press OK Key"))
1133 self.camstate= eTimer()
1134 self.camstate.callback.append(self.cam_state)
1138 def keyCancel(self):
1140 print "result ", self.result
1147 self["text"].setText(_("Press OK Key"))
1148 self["testlist"].instance.moveSelection(self["testlist"].instance.moveUp)
1151 self["text"].setText(_("Press OK Key"))
1152 self["testlist"].instance.moveSelection(self["testlist"].instance.moveDown)
1155 print "line - ",self["testlist"].getCurrent()[1]
1156 index = self["testlist"].getCurrent()[1]
1158 if index==0 or index==1:
1159 self["text"].setText(_("Insert Card?"))
1161 elif index ==2 or index==3:
1162 self["text"].setText(_("Insert Cam"))
1168 self.camstate.start(1000,True)
1170 def setSource(self, cislot):
1171 filename = ("/proc/stb/tsmux/ci%d_input"%cislot)
1172 fd = open(filename,'w')
1176 def setInputSource(self, cislot):
1177 fd=open("/proc/stb/tsmux/input0","w")
1184 def resetSource(self):
1185 fd=open("/proc/stb/tsmux/input0","w")
1188 # fd = open("/proc/stb/tsmux/ci0_input","w")
1191 # fd = open("/proc/stb/tsmux/ci1_input","w")
1195 def channelstart(self):
1196 ref = eServiceReference("1:0:19:1324:3EF:1:C00000:0:0:0")
1201 ref.setData(4,0x640000)
1202 self.session.nav.playService(ref)
1204 def channelstop(self):
1205 self.session.nav.stopService() # try to disable foreground service
1207 def cam_state(self):
1208 index = self["testlist"].getCurrent()[1]
1213 print 'cam_state', self.camstep,self.camtry
1214 if self.camstep == 1:
1215 state = eDVBCI_UI.getInstance().getState(slot)
1220 self["text"].setText(_("Getting Cam name...."))
1221 self.camstate.start(5000,True)
1225 self.camstate.start(1000,True)
1227 self.session.open( MessageBox, _("NO_NOT_INSERTED"), MessageBox.TYPE_ERROR)
1228 self.rlist[index]="fail"
1229 self["resultlist"].updateList(self.rlist)
1231 elif self.camstep == 2:
1232 appname = eDVBCI_UI.getInstance().getAppName(slot)
1233 print 'appname',appname
1237 self.camstate.start(1000,True)
1239 self.session.open( MessageBox, _("NO_GET_APPNAME"), MessageBox.TYPE_ERROR)
1240 self.rlist[index]="fail"
1241 self["resultlist"].updateList(self.rlist)
1243 self["text"].setText(_("Get Cam name : %s"%appname+". \n Remove Cam!"))
1245 self.setInputSource(slot)
1246 self.setSource(slot)
1249 self.camstate.start(1000,True)
1250 elif self.camstep==3:
1251 state = eDVBCI_UI.getInstance().getState(slot)
1255 self.result += (1<<index)
1257 self.rlist[index]="pass"
1258 self["text"].setText(_("Press OK Key"))
1259 self["resultlist"].updateList(self.rlist)
1267 self.camstate.start(1000,True)
1270 self.session.open( MessageBox, _("NO_REMOVE_CAM"), MessageBox.TYPE_ERROR)
1271 self.rlist[index]="fail"
1272 self["resultlist"].updateList(self.rlist)
1274 def check_smart_card(self,which):
1278 result = eSctest.getInstance().check_smart_card("/dev/sci0")
1280 result = eSctest.getInstance().check_smart_card("/dev/sci1")
1290 self.session.open( MessageBox, _("1:NO_DEV_FOUND"), MessageBox.TYPE_ERROR)
1292 self.session.open( MessageBox, _("1:SC_NOT_INSERTED"), MessageBox.TYPE_ERROR)
1294 self.session.open( MessageBox, _("1:SC_NOT_VALID_ATR"), MessageBox.TYPE_ERROR)
1296 self.session.open( MessageBox, _("1:SC_READ_TIMEOUT"), MessageBox.TYPE_ERROR)
1297 self.rlist[which]="fail"
1298 self["resultlist"].updateList(self.rlist)
1301 def remove_card(self):
1302 index = self["testlist"].getCurrent()[1]
1304 result = eSctest.getInstance().eject_smart_card("/dev/sci0")
1306 result = eSctest.getInstance().eject_smart_card("/dev/sci1")
1307 print 'remove result' ,result
1309 self.rlist[index]="pass"
1310 self.result += (1<<index)
1313 self.session.open( MessageBox, _("2:NO_DEV_FOUND"), MessageBox.TYPE_ERROR)
1315 self.session.open( MessageBox, _("2:SC_NOT_INSERTED"), MessageBox.TYPE_ERROR)
1317 self.session.open( MessageBox, _("2:SC_NOT_VALID_ATR"), MessageBox.TYPE_ERROR)
1319 self.session.open( MessageBox, _("2:SC_NOT_REMOVED"), MessageBox.TYPE_ERROR)
1320 self.rlist[index]="fail"
1321 self["resultlist"].updateList(self.rlist)
1322 self["text"].setText(_("Press OK Key"))
1327 def ScTest(self, yesno):
1330 index = self["testlist"].getCurrent()[1]
1331 result = self.check_smart_card(index)
1333 self.removecard.start(100,True)
1334 self["text"].setText(_("Read Ok. Remove Card!"))
1340 class SmartCardTest(Screen):
1342 <screen position="300,240" size="160,120" title="SmartCard Test" >
1343 <widget name="text" position="10,10" size="140,100" font="Regular;22" />
1346 def __init__(self, session):
1347 self["actions"] = ActionMap(["DirectionActions", "OkCancelActions"],
1349 "cancel": self.keyCancel,
1350 "ok" : self.keyCancel
1353 Screen.__init__(self, session)
1354 # self["text"]=Label(("Press Key LEFT"))
1355 self["text"]=Label(("Testing Smartcard 1..."))
1357 self.smartcardtimer = eTimer()
1358 self.smartcardtimer.callback.append(self.check_smart_card)
1359 self.smartcardtimer.start(100,True)
1360 self.closetimer = eTimer()
1361 self.closetimer.callback.append(self.close)
1363 global smartcardtest
1369 def check_mode(self):
1371 fd = open("/proc/stb/info/version","r")
1373 if int(version,16) <= 0x1200A3:
1377 if int(version,16) < 0x130000:
1379 elif int(version,16) > 0x140000:
1384 def check_smart_card(self):
1385 global smartcardtest
1386 index = self.smartcard
1389 if self.Testmode==0:
1390 result = eSctest.getInstance().check_smart_card("/dev/sci0")
1392 result = eSctest.getInstance().n_check_smart_card("/dev/sci0")
1394 if self.Testmode==0:
1395 result = eSctest.getInstance().check_smart_card("/dev/sci1")
1397 result = eSctest.getInstance().n_check_smart_card("/dev/sci1")
1405 if(index== 0 and self.model== 0):
1407 self["text"].setText(_("Testing Smartcard 2..."))
1408 self.smartcardtimer.start(100,True)
1410 elif (index==1 or self.model==1):
1412 # self.session.open( MessageBox, _("Smart Card OK!!"), MessageBox.TYPE_INFO,2)
1414 self["text"].setText(_("Smart Card OK!!"))
1415 self.closetimer.start(2000,True)
1416 self.smartcardtimer.stop()
1417 # self.session.openWithCallback(self.check6, MessageBox, _("Scart loop ok?"), MessageBox.TYPE_INFO)
1420 # self.session.open( MessageBox, _("%d:NO_DEV_FOUND"%(index+1)), MessageBox.TYPE_ERROR)
1421 # elif result == -2:
1422 # self.session.open( MessageBox, _("%d:SC_NOT_INSERTED"%(index+1)), MessageBox.TYPE_ERROR)
1423 # elif result == -3:
1424 # self.session.open( MessageBox, _("%d:SC_NOT_VALID_ATR"%(index+1)), MessageBox.TYPE_ERROR)
1425 # elif result == -5:
1426 # self.session.open( MessageBox, _("%d:SC_READ_TIMEOUT"%(index+1)), MessageBox.TYPE_ERROR)
1428 self["text"].setText(_("Smart Card 1 Error!\nerrorcode=%d"%result))
1430 self["text"].setText(_("Smart Card 2 Error!\nerrorcode=%d"%result))
1431 self.closetimer.start(2000,True)
1432 self.smartcardtimer.stop()
1435 def keyCancel(self):
1442 class FrontTest(Screen):
1444 <screen position="260,240" size="200,180" title="Front Test" >
1445 <widget name="text" position="10,10" size="180,160" font="Regular;22" />
1448 def __init__(self, session):
1449 self["actions"] = ActionMap(["DirectionActions", "OkCancelActions"],
1453 "down":self.keyDown,
1454 "cancel": self.keyCancel,
1457 Screen.__init__(self, session)
1458 self["text"]=Label(("Wheel LEFT"))
1461 self.fronttimer= eTimer()
1462 self.fronttimer.callback.append(self.FrontAnimate)
1463 self.frontturnonoff = 0
1464 eSctest.getInstance().VFD_Open()
1465 self.keytimeout = eTimer()
1466 self.keytimeout.callback.append(self.KeyTimeOut)
1467 self.keytimeout.start(5000,True)
1469 def KeyTimeOut(self):
1471 self["text"].setText(("Wheel LEFT ERROR"))
1472 elif self.step ==2 :
1473 self["text"].setText(("Wheel RIGHT ERROR"))
1474 elif self.step == 3:
1475 self["text"].setText(("Wheel BUTTON ERROR"))
1479 def keyCancel(self):
1481 self.fronttimer.stop()
1482 eSctest.getInstance().VFD_Close()
1491 self.keytimeout.stop()
1492 self.keytimeout.start(5000,True)
1494 self["text"].setText(_("Press Front Wheel"))
1498 self.keytimeout.stop()
1499 self.keytimeout.start(5000,True)
1501 self["text"].setText(_("Wheel RIGHT"))
1507 self.keytimeout.stop()
1509 self.fronttimer.start(1000,True)
1510 self["text"].setText(("Front Test OK!\nPress Exit Key"))
1511 # elif self.step==4:
1513 # self.fronttimer.stop()
1514 # eSctest.getInstance().VFD_Close()
1518 def FrontAnimate(self):
1519 if (self.frontturnonoff==0):
1520 eSctest.getInstance().turnon_VFD()
1521 self.frontturnonoff = 1
1523 self.frontturnonoff = 0
1524 eSctest.getInstance().turnoff_VFD()
1525 self.fronttimer.start(1000,True)
1528 class FrontTest_solo(Screen):
1530 <screen position="260,240" size="200,180" title="Front Test" >
1531 <widget name="text" position="10,10" size="180,160" font="Regular;22" />
1534 def __init__(self, session):
1535 self["actions"] = ActionMap(["DirectionActions", "OkCancelActions","GlobalActions"],
1538 "cancel": self.keyCancel,
1539 "left": self.keyleft,
1540 "right": self.keyright,
1541 "power_down": self.keypower,
1542 "volumeUp": self.keyvolup,
1543 "volumeDown": self.keyvoldown,
1546 Screen.__init__(self, session)
1547 self["text"]=Label(("Press Front STANDBY"))
1550 self.fronttimer= eTimer()
1551 self.fronttimer.callback.append(self.FrontAnimate)
1552 self.frontturnonoff = 0
1553 eSctest.getInstance().VFD_Open()
1554 self.keytimeout = eTimer()
1555 self.keytimeout.callback.append(self.KeyTimeOut)
1556 self.keytimeout.start(5000,True)
1558 def KeyTimeOut(self):
1560 self["text"].setText(("Front STANDBY ERROR\nPress exit!"))
1561 elif self.step == 2 :
1562 self["text"].setText(("Front CH - ERROR\nPress exit!"))
1563 elif self.step == 3:
1564 self["text"].setText(("Front CH + ERROR\nPress exit!"))
1565 elif self.step == 4 :
1566 self["text"].setText(("Front VOL - ERROR\nPress exit!"))
1567 elif self.step == 5:
1568 self["text"].setText(("Front VOL + ERROR\nPress exit!"))
1575 self.keytimeout.stop()
1576 self.keytimeout.start(5000,True)
1578 self["text"].setText(_("Press Front CH -"))
1582 self.keytimeout.stop()
1583 self.keytimeout.start(5000,True)
1585 self["text"].setText(_("Press Front VOL -"))
1589 self.keytimeout.stop()
1590 self.keytimeout.start(5000,True)
1592 self["text"].setText(_("Press Front CH +"))
1596 self.keytimeout.stop()
1598 self.fronttimer.start(1000,True)
1599 self["text"].setText(_("Front LED OK?\n\nyes-ok\nno-exit"))
1600 # self["text"].setText(("Front Test OK!\nPress Exit Key"))
1602 def keyvoldown(self):
1604 self.keytimeout.stop()
1605 self.keytimeout.start(5000,True)
1607 self["text"].setText(_("Press Front VOL +"))
1609 def checkled(self, yesno):
1616 def keyCancel(self):
1618 self.fronttimer.stop()
1619 eSctest.getInstance().VFD_Close()
1625 self.fronttimer.stop()
1626 eSctest.getInstance().VFD_Close()
1631 def FrontAnimate(self):
1632 if (self.frontturnonoff==0):
1633 eSctest.getInstance().turnon_VFD()
1634 self.frontturnonoff = 1
1636 self.frontturnonoff = 0
1637 eSctest.getInstance().turnoff_VFD()
1638 self.fronttimer.start(1000,True)
1647 class RS232Test(Screen):
1649 <screen position="300,240" size="160,100" title="RS232 Test" >
1650 <widget name="text" position="10,10" size="140,80" font="Regular;22" />
1653 def __init__(self, session):
1654 self["actions"] = ActionMap(["DirectionActions", "OkCancelActions"],
1656 "cancel": self.keyCancel,
1659 Screen.__init__(self, session)
1660 self["text"]=Label(("Press \"Enter\" Key"))
1661 self.timer = eTimer()
1662 self.timer.callback.append(self.checkrs232)
1663 self.timer.start(100, True)
1665 def checkrs232(self):
1668 rs=open('/dev/ttyS0','r')
1670 r,w,e = select.select(rd, [], [], 10)
1685 def keyCancel(self):
1690 class AgingTest(Screen):
1692 <screen position="200,240" size="250,100" title="Aging Test" >
1693 <widget name="text1" position="10,10" size="230,40" font="Regular;22" />
1694 <widget name="text2" position="10,50" size="230,40" font="Regular;22" />
1697 def __init__(self, session):
1698 self["actions"] = ActionMap(["WizardActions","GlobalActions"],
1700 "agingend": self.keyEnd,
1701 "agingfinish": self.keyFinish,
1702 "volumeUp": self.nothing,
1703 "volumeDown": self.nothing,
1704 "volumeMute": self.nothing,
1707 Screen.__init__(self, session)
1708 self["text1"]=Label(("Exit - Press Pause Key"))
1709 self["text2"]=Label(("Reset - Press Stop Key"))
1710 # self.servicelist = ServiceList()
1711 # self.oldref = session.nav.getCurrentlyPlayingServiceReference()
1712 # print "oldref",self.oldref
1713 # session.nav.stopService() # try to disable foreground service
1716 self.tuningtimer = eTimer()
1717 self.tuningtimer.callback.append(self.updateStatus)
1718 # self.tuningtimer.start(2000,True)
1721 def updateStatus(self):
1722 result = eSctest.getInstance().getFrontendstatus(0)
1725 print "eSctest.getInstance().getFrontendstatus - %d"%result
1728 self.session.nav.stopService()
1729 self.session.open( MessageBox, _("Tune 1 Ver Locking Fail..."), MessageBox.TYPE_ERROR)
1734 self.session.nav.stopService()
1735 self.session.open( MessageBox, _("Tune 1 Ver Error %d..."%result), MessageBox.TYPE_ERROR)
1742 if self.oldref is None:
1743 eref = eServiceReference("1:0:19:1324:3EF:1:C00000:0:0:0")
1744 serviceHandler = eServiceCenter.getInstance()
1745 servicelist = serviceHandler.list(eref)
1746 if not servicelist is None:
1747 ref = servicelist.getNext()
1749 ref = self.getCurrentSelection()
1750 print "servicelist none"
1753 self.session.nav.stopService() # try to disable foreground service
1758 ref.setData(4,0x640000)
1759 self.session.nav.playService(ref)
1764 self.session.nav.stopService() # try to disable foreground service
1767 def keyFinish(self):
1770 self.session.nav.stopService() # try to disable foreground service
1782 def main(session, servicelist, **kwargs):
1786 Servicelist = servicelist
1787 bouquets = Servicelist.getBouquetList()
1789 bouquetSel = Session.openWithCallback(cleanup, FactoryTest)
1791 #def Plugins(**kwargs):
1792 # return PluginDescriptor(name=_("Factory Test"), description="Test App for Factory", where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)