Ввод Python, мешающий SimpleXMLRPCServer
У меня есть сервер по этим направлениям:
from SimpleXMLRPCServer import SimpleXMLRPCServer
def ack(msg):
return input("Allow? ").lower() in ['y', 'yes']
server = SimpleXMLRPCServer(("localhost", 8080))
server.register_function(ack, "ack")
server.serve_forever()
И клиент по этим направлениям:
import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8080")
with open(myfile) as mfd:
for line in mfd.readlines():
if proxy.ack(line):
print line
Это приводит к отправке ошибки клиенту. Код ошибки и строка:
1
<type 'exceptions.NameError'>:name 'y' is not defined
Мое предположение - потребление input
на стороне сервера убивает совершенство POST XML-RPC.
Я бы предпочел не кодировать какой-либо метод с двумя клиентами и сервером - это похоже на простую установку 1:1, которую я использую.
Действительно, я открыт для любого альтернативного (python) решения.
1 ответ
Решение
Ты используешь input()
где вы должны использовать raw_input()
, Попробуй это:
return raw_input("Allow? ").lower() in ['y', 'yes']