2009-12-17 22:30:27 -05:00
|
|
|
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()
|
|
|
|
|
2009-12-18 00:07:45 -05:00
|
|
|
|
|
|
|
# Set key to value
|
|
|
|
# This must be defined before other imports so bt.message can use it
|
|
|
|
def set(key,value):
|
2009-12-18 15:18:49 -05:00
|
|
|
stack = [value]
|
|
|
|
if settings.has_key(key.upper()) == True:
|
|
|
|
stack += settings[key.upper()]
|
|
|
|
settings[key.upper()] = stack
|
2009-12-18 00:07:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
from bt.message import write
|
|
|
|
from bt.message import error
|
|
|
|
from bt.file import fopen
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-17 22:30:27 -05:00
|
|
|
# Return the value at key
|
2009-12-18 15:18:49 -05:00
|
|
|
def get(key, all=False):
|
2009-12-21 19:28:16 -05:00
|
|
|
global settings
|
2009-12-18 15:18:49 -05:00
|
|
|
if(all == False):
|
|
|
|
return settings[key.upper()][0]
|
|
|
|
else:
|
2009-12-21 19:28:16 -05:00
|
|
|
return settings[key.upper()]
|
2009-12-17 22:30:27 -05:00
|
|
|
|
2009-12-20 18:23:02 -05:00
|
|
|
|
2009-12-22 21:59:35 -05:00
|
|
|
# Replace settings[key] with value
|
2009-12-21 19:28:16 -05:00
|
|
|
def replace(key,value):
|
2009-12-20 18:23:02 -05:00
|
|
|
global settings
|
2009-12-22 21:59:35 -05:00
|
|
|
key = key.upper()
|
2009-12-20 18:23:02 -05:00
|
|
|
if (key in settings) == True:
|
2009-12-21 19:28:16 -05:00
|
|
|
del settings[key]
|
|
|
|
set(key,value)
|
2009-12-20 18:23:02 -05:00
|
|
|
|
|
|
|
|
2009-12-22 21:59:35 -05:00
|
|
|
# Pop off the first value at key.upper()
|
|
|
|
def pop(key):
|
|
|
|
key = key.upper()
|
|
|
|
global settings
|
|
|
|
if (key in settings.keys()) == True:
|
|
|
|
return settings[key].pop(0)
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
2009-12-17 22:30:27 -05:00
|
|
|
# Read settings from file
|
|
|
|
def readfile(file):
|
|
|
|
write("Reading file: "+file,True)
|
|
|
|
file = fopen(file)
|
|
|
|
|
|
|
|
|
|
|
|
# Parse the user input
|
|
|
|
def parseInput():
|
|
|
|
write("Parsing user input",True)
|
|
|
|
input = sys.argv[1:]
|
|
|
|
write(input,True)
|
2009-12-22 21:59:35 -05:00
|
|
|
optc = "vp:"
|
|
|
|
long = ["verbose", "path="]
|
2009-12-17 22:30:27 -05:00
|
|
|
|
|
|
|
# Attempt to parse user input
|
|
|
|
try:
|
|
|
|
opts, args = getopt.getopt(input, optc, long)
|
2009-12-22 21:59:35 -05:00
|
|
|
for opt in opts:
|
|
|
|
if opt[0] == "-p":
|
|
|
|
set("PLUGPATH", opt[1])
|
|
|
|
set("ARGS", args)
|
2009-12-17 22:30:27 -05:00
|
|
|
except getopt.GetoptError, e:
|
|
|
|
error(e.msg)
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
# Set default values
|
|
|
|
# Set verbose first so we can use write()
|
2009-12-18 15:18:49 -05:00
|
|
|
set("VERBOSE", ('-v' in sys.argv) or ("--verbose" in sys.argv) )
|
2009-12-17 22:30:27 -05:00
|
|
|
write("Setting default values...", True)
|
2009-12-19 21:38:24 -05:00
|
|
|
|
2009-12-17 22:30:27 -05:00
|
|
|
# Find who is running the program
|
|
|
|
user = os.path.expanduser("~")
|
2009-12-22 21:59:35 -05:00
|
|
|
#user = os.path.join(user,".ocarina2")
|
2009-12-18 15:18:49 -05:00
|
|
|
set("USER", user)
|
|
|
|
set("PLUGPATH", "../core")
|
2009-12-17 22:30:27 -05:00
|
|
|
|
|
|
|
# Find out what platform we are running on
|
2009-12-18 15:18:49 -05:00
|
|
|
set("ARCH", sys.platform)
|
2009-12-17 22:30:27 -05:00
|
|
|
|
2009-12-22 21:59:35 -05:00
|
|
|
#if get("ARCH") == 'linux2':
|
|
|
|
# readfile("/etc/ocarina.conf")
|
2009-12-17 22:30:27 -05:00
|
|
|
|
|
|
|
parseInput()
|