ocarina/src/core/session.py

78 lines
1.7 KiB
Python

#! /usr/bin/python
# To change this template, choose Tools | Templates
# and open the template in the editor.
__author__="bjschuma"
__date__ ="$Feb 17, 2010 9:18:50 PM$"
import sys
import getopt
from event import Event
global events
events = Event()
from settings import Settings
from aliases import Alias
from bt.file import *
from bt.message import write
from manager import Manager
from bt import proc
from bt import dict
global alias
global settings
global manager
global vars
vars = dict.Dict()
def setSession():
write("Finding session...",2)
path = settings["appdir"]
mkdir(path)
path = join(path,"session")
mkdir(path)
settings["session"] = path
write("Using session: " + path,2)
def parseInput():
from bt import scripting
input = sys.argv[1:]
optc = "vp:s:"
long = ["verbose", "path=", "script="]
# Attempt to parse user input
try:
opts, args = getopt.getopt(input, optc, long)
settings["verbose"] = 0
settings["plugpath"] = []
for opt in opts:
if (opt[0]=="-p") or (opt[0]=="--path"):
settings["plugpath"] += [opt[1]]
elif (opt[0]=="-s") or (opt[0]=="--script"):
scripting.add(opt[1])
elif (opt[0]=="-v") or (opt[0]=="--verbose"):
settings["verbose"] += 1
for arg in args:
events.start("scion-process-args",arg)
#settings["args"] = args
except getopt.GetoptError, e:
write(e.msg)
write(input,2)
write("User input has been processed",1)
settings = Settings()
parseInput()
# We want to configure settings as early as possible
settings.setdefaults()
manager = Manager()
alias = Alias()
# Register functions to call when all plugins have been loaded
events.invite("scion-plugins-loaded", proc.setup, 0)
events.invite("scion-plugins-loaded", setSession, 1)