ocarina/src/core/settings.py

68 lines
1.2 KiB
Python

import os.path
__author__="bjschuma"
__date__ ="$Dec 4, 2009 4:04:24 PM$"
#import bt.message.disp
import os
import sys
import getopt
# Create a dictionary to hold the settings
global settings
settings = dict()
# Parse the user input
def parseInput():
write("Parsing user input",True)
input = sys.argv[1:]
write(input,True)
optc = "vp:s:"
long = ["verbose", "path=", "script="]
# Attempt to parse user input
try:
opts, args = getopt.getopt(input, optc, long)
for opt in opts:
if opt[0] == "-p":
set("plugpath",get("plugpath")+[opt[1]])
elif opt[0] == "-s":
scripting.add(opt[1])
set("ARGS", args)
except getopt.GetoptError, e:
error(e.msg)
return
def clean():
delete("appdir")
delete("appname")
delete("arch")
delete("args")
delete("plugpath")
delete("user")
delete("verbose")
def save(path):
write("Saving settings",True)
clean()
global settings
path = join(path,"settings")
xm.new()
elm = xm.element("settings")
xm.append(elm)
a = settings.keys()
for key in settings.keys():
value = get(key)
if value == None:
continue
e = xm.element(key)
t = xm.text(str(value))
xm.append(t,e)
xm.append(e,elm)
xm.write(path)