コード例 #1
0
ファイル: urwid.py プロジェクト: talanis85/mudblood-old
 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."
コード例 #2
0
ファイル: mudblood.py プロジェクト: talanis85/mudblood-old
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)