1
0
Fork 0

Prompt now uses Python readline feature without need of rlwrap

This commit is contained in:
nemunaire 2014-09-09 07:06:49 +02:00
parent 5f86b35cf0
commit 88219a773a
2 changed files with 8 additions and 9 deletions

View File

@ -18,6 +18,7 @@
import imp
import os
import readline
import shlex
import sys
import traceback
@ -81,14 +82,8 @@ class Prompt:
"""Launch the prompt"""
ret = ""
while ret != "quit" and ret != "reset" and ret != "refresh":
sys.stdout.write("\033[0;33m%s§\033[0m " % self.getPS1())
sys.stdout.flush()
try:
line = sys.stdin.readline()
if len(line) <= 0:
line = "quit"
print("quit")
line = input("\033[0;33m%s§\033[0m " % self.getPS1())
cmds = self.lex_cmd(line.strip())
for toks in cmds:
try:
@ -98,6 +93,9 @@ class Prompt:
traceback.print_exception(exc_type, exc_value, exc_traceback)
except KeyboardInterrupt:
print("")
except EOFError:
ret = "quit"
print("quit")
return ret != "quit"

View File

@ -66,15 +66,16 @@ def load_file(filename, context):
or config.getName() == "nemubotconfig"):
# Preset each server in this file
for server in config.getNodes("server"):
ip = server["ip"] if server.hasAttribute("ip") else config["ip"]
nick = server["nick"] if server.hasAttribute("nick") else config["nick"]
owner = server["owner"] if server.hasAttribute("owner") else config["owner"]
realname = server["realname"] if server.hasAttribute("realname") else config["realname"]
if context.add_server(server, nick, owner, realname):
print("Server `%s:%s' successfully added." %
(server["server"], server["port"]))
(server["host"], server["port"]))
else:
print("Server `%s:%s' already added, skiped." %
(server["server"], server["port"]))
(server["host"], server["port"]))
# Load module and their configuration
for mod in config.getNodes("module"):