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() # Set key to value # This must be defined before other imports so bt.message can use it def set(key,value): stack = [value] if settings.has_key(key.upper()) == True: stack += settings[key.upper()] settings[key.upper()] = stack from bt.message import write from bt.message import error from bt.file import fopen # Return the value at key def get(key, all=False): global settings if(all == False): return settings[key.upper()][0] else: return settings[key.upper()] def replace(key,value): global settings if (key in settings) == True: del settings[key] set(key,value) # 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) optc = "v" long = ["verbose"] # Attempt to parse user input try: opts, args = getopt.getopt(input, optc, long) except getopt.GetoptError, e: error(e.msg) return # Set default values # Set verbose first so we can use write() set("VERBOSE", ('-v' in sys.argv) or ("--verbose" in sys.argv) ) write("Setting default values...", True) # Find who is running the program user = os.path.expanduser("~") user = os.path.join(user,".ocarina2") set("USER", user) set("PLUGPATH", "../core") # Find out what platform we are running on set("ARCH", sys.platform) if get("ARCH") == 'linux2': readfile("/etc/ocarina.conf") parseInput()