X3270 Подключение и программирование

Я смотрю на использование эмулятора терминала X3270. Я http://x3270.bgp.nu/ просмотрел этот исходный материал и до сих пор не вижу, как начать использовать инструмент или настроить его.

Мне интересно, как я могу открыть терминал и подключиться. Другой вопрос, как я могу интегрировать это в программу Python?

редактировать: вот фрагмент:

em = Emulator()     
em.connect(ip)
em.send_string('*user name*')
em.exec_command('Tab')
em.send_string('*user password*')
em.send_enter()
em.send_enter()
em.wait_for_field()
em.save_screen("{0}screenshot".format(*path*))

глядя на экран сохранения, я вижу, что курсор не двигался? Я могу переместить курсор, используя

em.move_to(7,53)

но после этого я не получаю никакого сообщения. Есть идеи?

2 ответа

Решение

Пожалуйста, сначала прочтите мой комментарий выше - было бы полезно получить более подробную информацию о том, что вам нужно сделать.

Подумав об этом... вы смотрели пакет py3270 по адресу https://pypi.python.org/pypi/py3270/0.1.5? Резюме говорит, что это говорит с x3270.

Вот что я делаю; это работает 100% времени:

from py3270 import *
import sys, os

host = "%s" % sys.argv[1].upper()
try:
    e = Emulator()
    e.connect(host)
    e.wait_for_field()
except WaitError:
    print "py3270.connect(%s) failed" % (host)
    sys.exit(1)

print "--- connection made to %s ---" % (host)`

Если у вас нет сетевого подключения к вашему хосту, этот вызов wait_for_field() будет ждать целых 120 секунд. Независимо от того, что я делаю, я не могу повлиять на продолжительность этого тайм-аута.

Но вашему пользователю не нужно ждать так долго, просто попросите его убить ваш скрипт с помощью KeyboardInterrupt. Надеемся, что ваш пользователь привыкнет к успеху, сравнивая отображение этого сообщения "--- соединение установлено...", поэтому он будет знать, что у него проблемы, когда / если хост не отвечает.

И вот что мне нужно сделать: вы не подключаетесь к терминалу (как вы описали), а подключаетесь к хосту. Этот хост может быть либо соединением VTAM, либо каким-либо LPAR, обычно TSO или z/VM, иногда CICS или IMS, к которым вас приведет VTAM. Каждый тип хоста имеет различные подсказки и содержимое экрана, которое вам может потребоваться проверить, и иногда это содержимое отличается в зависимости от того, к какой системе вы пытаетесь подключиться. Ваш скрипт становится "терминалом", в зависимости от того, что вы хотите показать своему пользователю.

Что вам нужно сделать дальше, зависит от того, с какой системой вы пытаетесь разговаривать. Через VTAM? (Нужно сначала выбрать приложение VTAM?) Для z/VM? TSO? Вы входите в систему или набираете номер? Какое следующее нажатие клавиши / поле вы должны использовать при работе с графическим терминалом x3270/c3270? Вы должны знать это, чтобы выбрать следующую команду.

Удачи!

Другие вопросы по тегам