Properly save and restore settings between sessions
This commit is contained in:
parent
b8f213c747
commit
4cacc390c2
|
@ -37,8 +37,57 @@ def append(child,root=None):
|
||||||
root.appendChild(child)
|
root.appendChild(child)
|
||||||
|
|
||||||
|
|
||||||
|
def child(root=None):
|
||||||
|
if root==None:
|
||||||
|
global document
|
||||||
|
if document == None:
|
||||||
|
return
|
||||||
|
return document.firstChild
|
||||||
|
return root.firstChild
|
||||||
|
|
||||||
|
|
||||||
|
def children(root=None):
|
||||||
|
if root == None:
|
||||||
|
global document
|
||||||
|
if document == None:
|
||||||
|
return []
|
||||||
|
return document.childNodes
|
||||||
|
return root.childNodes
|
||||||
|
|
||||||
|
|
||||||
def write(path):
|
def write(path):
|
||||||
global document
|
global document
|
||||||
out = fopen(path,'w')
|
out = fopen(path,'w')
|
||||||
out.write(document.toprettyxml(indent=" "))
|
out.write(document.toprettyxml(indent=" "))
|
||||||
out.close()
|
out.close()
|
||||||
|
|
||||||
|
|
||||||
|
def load(path):
|
||||||
|
global document
|
||||||
|
fin = fopen(path)
|
||||||
|
if fin == None:
|
||||||
|
return
|
||||||
|
document = xml.parse(fin)
|
||||||
|
|
||||||
|
|
||||||
|
def isElm(node):
|
||||||
|
return node.nodeType == 1
|
||||||
|
|
||||||
|
|
||||||
|
def isText(node):
|
||||||
|
return node.nodeType == 3
|
||||||
|
|
||||||
|
|
||||||
|
def name(node):
|
||||||
|
return node.nodeName
|
||||||
|
|
||||||
|
|
||||||
|
def value(node):
|
||||||
|
val = node.nodeValue.strip()
|
||||||
|
if val == "False":
|
||||||
|
return False
|
||||||
|
elif val == "True":
|
||||||
|
return True
|
||||||
|
elif val.isdigit() == True:
|
||||||
|
return int(val)
|
||||||
|
return val
|
|
@ -118,6 +118,7 @@ class Manager:
|
||||||
|
|
||||||
def restoresession(self):
|
def restoresession(self):
|
||||||
path = self.findsession()
|
path = self.findsession()
|
||||||
|
settings.load(path)
|
||||||
path = join(path,"enabled")
|
path = join(path,"enabled")
|
||||||
file = fopen(path)
|
file = fopen(path)
|
||||||
self.restored = []
|
self.restored = []
|
||||||
|
|
|
@ -127,6 +127,21 @@ def save(path):
|
||||||
xm.write(path)
|
xm.write(path)
|
||||||
|
|
||||||
|
|
||||||
|
def load(path):
|
||||||
|
global settings
|
||||||
|
path = join(path,"settings")
|
||||||
|
xm.load(path)
|
||||||
|
elm = xm.child()
|
||||||
|
if elm == None:
|
||||||
|
return
|
||||||
|
for node in xm.children(elm):
|
||||||
|
if xm.isElm(node) == False:
|
||||||
|
continue
|
||||||
|
key = xm.name(node)
|
||||||
|
val = xm.child(node)
|
||||||
|
set(key,xm.value(val))
|
||||||
|
|
||||||
|
|
||||||
# Set default values
|
# Set default values
|
||||||
# Set verbose first so we can use write()
|
# Set verbose first so we can use write()
|
||||||
set("VERBOSE", ('-v' in sys.argv) or ("--verbose" in sys.argv) )
|
set("VERBOSE", ('-v' in sys.argv) or ("--verbose" in sys.argv) )
|
||||||
|
|
Loading…
Reference in New Issue