def cmd_reload(self): from mudblood.session import load_mud_definition if self.mud.path != "": try: newmud = load_mud_definition(self.mud.path) except Exception, e: self.w_session.append_data(traceback.format_exc(), 'error') return "Error in definition file." self.mud = newmud self.session.mud = newmud self.command_chain.chain = [self.mud, self, self.session, self.session.mapper] self.mud.connect(self.session) return "Ok."
def main(): parser = OptionParser(usage="Usage: %prog [options] <host> <port>", version="mudblood " + VERSION) parser.add_option("-i", "--interface", action = "store", dest = "interface", type = "choice", choices = ["serial", "curses"], default = "serial", help = "Choices: serial (default) or curses",) parser.add_option("-s", "--screen", action = "store", dest = "screen", type = "choice", choices = ["raw", "curses"], default = "curses", help = "Choices: raw, curses. Only for curses interface.",) parser.add_option("-p", "--prefix", action = "store", dest = "prefix", type = "string", default = ".", help = "Command Prefix (default: '.')") (options, args) = parser.parse_args() if len(args) == 1: mud = load_mud_definition(os.path.expanduser("~/.config/mudblood/" + args[0])) if not mud: print "MUD definition not found" sys.exit(1) elif len(args) == 2: mud = __import__("mudblood.mud_base", globals(), locals(), [], -1).mud_base mud.host = args[0] mud.port = int(args[1]) else: mud = None iface = None if options.interface == "serial": import mudblood.interfaces.serial iface = mudblood.interfaces.serial elif options.interface == "curses": import mudblood.interfaces.urwid iface = mudblood.interfaces.urwid else: print "Interface not known" sys.exit(1) iface.args = args iface.options = options r = iface.Interface(mud).run() if r == -1: parser.print_usage() sys.exit(1)