1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
from Wizard import wizardManager
from Screens.WizardLanguage import WizardLanguage
from Tools.Directories import crawlDirectory, resolveFilename, SCOPE_DEFAULTDIR, SCOPE_DEFAULTPARTITIONMOUNTDIR, SCOPE_DEFAULTPARTITION
from Components.Pixmap import Pixmap, MovingPixmap
from Components.config import config, ConfigBoolean, configfile, ConfigYesNo, getConfigListEntry
from Components.DreamInfoHandler import DreamInfoHandler, InfoHandler, InfoHandlerParseError
import os
config.misc.defaultchosen = ConfigBoolean(default = True)
import xml.sax
class DefaultWizard(WizardLanguage, DreamInfoHandler):
def __init__(self, session, silent = True):
DreamInfoHandler.__init__(self, self.statusCallback)
self.silent = silent
os.system("mount %s %s" % (resolveFilename(SCOPE_DEFAULTPARTITION), resolveFilename(SCOPE_DEFAULTPARTITIONMOUNTDIR)))
self.directory = resolveFilename(SCOPE_DEFAULTPARTITIONMOUNTDIR)
self.xmlfile = "defaultwizard.xml"
WizardLanguage.__init__(self, session, showSteps = False)
self["wizard"] = Pixmap()
self["rc"] = MovingPixmap()
self["arrowdown"] = MovingPixmap()
self["arrowup"] = MovingPixmap()
self["arrowup2"] = MovingPixmap()
def markDone(self):
config.misc.defaultchosen.value = 0
config.misc.defaultchosen.save()
configfile.save()
def statusCallback(self, status, progress):
print "statusCallback:", status, progress
if status == DreamInfoHandler.STATUS_DONE:
self["text"].setText(_("The installation of the default settings is finished. You can now continue configuring your Dreambox by pressing the OK button on the remote control."))
self.markDone()
self.disableKeys = False
def getConfigList(self):
self.packageslist = []
configList = []
self.fillPackagesList()
self.packagesConfig = []
for x in range(len(self.packageslist)):
entry = ConfigYesNo()
self.packagesConfig.append(entry)
configList.append(getConfigListEntry(self.packageslist[x][0]["attributes"]["name"], entry))
return configList
def selectionMade(self):
print "selection made"
#self.installPackage(int(index))
indexList = []
for x in range(len(self.packagesConfig)):
if self.packagesConfig[x].value:
indexList.append(x)
self.installPackages(indexList)
class ImageDefaultInstaller(DreamInfoHandler):
def __init__(self):
DreamInfoHandler.__init__(self, self.statusCallback, blocking = True)
self.directory = resolveFilename(SCOPE_DEFAULTDIR)
self.fillPackagesList()
self.installPackage(0)
def statusCallback(self, status, progress):
pass
wizardManager.registerWizard(DefaultWizard, config.misc.defaultchosen.value, priority = 6)
if config.misc.defaultchosen.value:
print "Installing image defaults"
installer = ImageDefaultInstaller()
print "installing done!"
|