summaryrefslogtreecommitdiffstats
path: root/Demo/cwilib/cwilib.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-09-14 16:44:15 (GMT)
committerGuido van Rossum <guido@python.org>1998-09-14 16:44:15 (GMT)
commit4117e5428bf1ff3d26d23bd77472265412473ad9 (patch)
treed3a38e1c85eb46e5299cec0d5fb358cdc1db28fe /Demo/cwilib/cwilib.py
parentf9a6d7d49425a04b10e4373077230c6cb93c5817 (diff)
downloadcpython-4117e5428bf1ff3d26d23bd77472265412473ad9.zip
cpython-4117e5428bf1ff3d26d23bd77472265412473ad9.tar.gz
cpython-4117e5428bf1ff3d26d23bd77472265412473ad9.tar.bz2
nannified
Diffstat (limited to 'Demo/cwilib/cwilib.py')
-rwxr-xr-xDemo/cwilib/cwilib.py242
1 files changed, 121 insertions, 121 deletions
diff --git a/Demo/cwilib/cwilib.py b/Demo/cwilib/cwilib.py
index ebe468a..2b19637 100755
--- a/Demo/cwilib/cwilib.py
+++ b/Demo/cwilib/cwilib.py
@@ -18,22 +18,22 @@ def main():
tn = telnetlib.Telnet(host, 0)
#
try:
- vt.send(tn.read_until('login: ', 10))
- tn.write('cwilib\r')
- #
- vt.send(tn.read_until('Hit <RETURN> to continue...', 10))
- tn.write('\r')
- #
- vt.send(tn.read_until('QUIT', 20))
+ vt.send(tn.read_until('login: ', 10))
+ tn.write('cwilib\r')
+ #
+ vt.send(tn.read_until('Hit <RETURN> to continue...', 10))
+ tn.write('\r')
+ #
+ vt.send(tn.read_until('QUIT', 20))
except EOFError:
- sys.stderr.write('Connection closed prematurely\n')
- sys.exit(1)
+ sys.stderr.write('Connection closed prematurely\n')
+ sys.exit(1)
#
define_screens(vt)
matches = vt.which_screens()
if 'menu' not in matches:
- sys.stderr.write('Main menu does not appear\n')
- sys.exit(1)
+ sys.stderr.write('Main menu does not appear\n')
+ sys.exit(1)
#
tn.write('\r\r')
vt.open('Progress -- CWI Library')
@@ -41,109 +41,109 @@ def main():
ui = UserInterface()
#
while 1:
- try:
- data = tn.read_very_eager()
- except EOFError:
- stdwin.message('Connection closed--goodbye')
- break
- if data:
- print 'send...'
- vt.send(data)
- print 'send...done'
- continue
- event = stdwin.pollevent()
- if event:
- type, window, detail = event
- if window == None and type == WE_LOST_SEL:
- window = ui.queryform.window
- event = type, window, detail
- if type == WE_CLOSE:
- break
- if window in ui.windows:
- ui.dispatch(type, window, detail)
- elif window == vt.window:
- if type == WE_NULL:
- pass
- elif type == WE_COMMAND:
- if detail == WC_RETURN:
- tn.write('\r')
- elif detail == WC_BACKSPACE:
- tn.write('\b')
- elif detail == WC_TAB:
- tn.write('\t')
- elif detail == WC_UP:
- tn.write('\033[A')
- elif detail == WC_DOWN:
- tn.write('\033[B')
- elif detail == WC_RIGHT:
- tn.write('\033[C')
- elif detail == WC_LEFT:
- tn.write('\033[D')
- else:
- print '*** Command:', detail
- elif type == WE_CHAR:
- tn.write(detail)
- elif type == WE_DRAW:
- vt.draw(detail)
- elif type in (WE_ACTIVATE, WE_DEACTIVATE):
- pass
- else:
- print '*** VT100 event:', type, detail
- else:
- print '*** Alien event:', type, window, detail
- continue
- rfd, wfd, xfd = select.select([tn, stdwin], [], [])
+ try:
+ data = tn.read_very_eager()
+ except EOFError:
+ stdwin.message('Connection closed--goodbye')
+ break
+ if data:
+ print 'send...'
+ vt.send(data)
+ print 'send...done'
+ continue
+ event = stdwin.pollevent()
+ if event:
+ type, window, detail = event
+ if window == None and type == WE_LOST_SEL:
+ window = ui.queryform.window
+ event = type, window, detail
+ if type == WE_CLOSE:
+ break
+ if window in ui.windows:
+ ui.dispatch(type, window, detail)
+ elif window == vt.window:
+ if type == WE_NULL:
+ pass
+ elif type == WE_COMMAND:
+ if detail == WC_RETURN:
+ tn.write('\r')
+ elif detail == WC_BACKSPACE:
+ tn.write('\b')
+ elif detail == WC_TAB:
+ tn.write('\t')
+ elif detail == WC_UP:
+ tn.write('\033[A')
+ elif detail == WC_DOWN:
+ tn.write('\033[B')
+ elif detail == WC_RIGHT:
+ tn.write('\033[C')
+ elif detail == WC_LEFT:
+ tn.write('\033[D')
+ else:
+ print '*** Command:', detail
+ elif type == WE_CHAR:
+ tn.write(detail)
+ elif type == WE_DRAW:
+ vt.draw(detail)
+ elif type in (WE_ACTIVATE, WE_DEACTIVATE):
+ pass
+ else:
+ print '*** VT100 event:', type, detail
+ else:
+ print '*** Alien event:', type, window, detail
+ continue
+ rfd, wfd, xfd = select.select([tn, stdwin], [], [])
# Subroutine to define our screen recognition patterns
def define_screens(vt):
vt.define_screen('menu', {
- 'title': ('search', 0, 0, 80,
- ' SEARCH FUNCTIONS +OTHER FUNCTIONS '),
- })
+ 'title': ('search', 0, 0, 80,
+ ' SEARCH FUNCTIONS +OTHER FUNCTIONS '),
+ })
vt.define_screen('search', {
- 'title': ('search', 0, 0, 80, ' Search '),
- })
+ 'title': ('search', 0, 0, 80, ' Search '),
+ })
vt.define_screen('shortlist', {'title': ('search', 0, 0, 80,
- ' Short-list')})
+ ' Short-list')})
vt.define_screen('showrecord', {
- 'title': ('search', 0, 0, 80, ' Show record '),
- })
+ 'title': ('search', 0, 0, 80, ' Show record '),
+ })
vt.define_screen('timelimit', {
- 'limit': ('search', 12, 0, 80, ' TIME LIMIT '),
- })
+ 'limit': ('search', 12, 0, 80, ' TIME LIMIT '),
+ })
vt.define_screen('attention', {
- 'BASE': ('copy', 0, 0, 0, 'search'),
- 'title': ('search', 10, 0, 80, ' ATTENTION ')})
+ 'BASE': ('copy', 0, 0, 0, 'search'),
+ 'title': ('search', 10, 0, 80, ' ATTENTION ')})
vt.define_screen('syntaxerror', {
- 'BASE': ('copy', 0, 0, 0, 'attention'),
- 'message': ('search', 12, 0, 80, ' Syntax error'),
- })
+ 'BASE': ('copy', 0, 0, 0, 'attention'),
+ 'message': ('search', 12, 0, 80, ' Syntax error'),
+ })
vt.define_screen('emptyerror', {
- 'BASE': ('copy', 0, 0, 0, 'attention'),
- 'message': ('search', 12, 0, 80,
- ' Check your input. Search at least one term'),
- })
+ 'BASE': ('copy', 0, 0, 0, 'attention'),
+ 'message': ('search', 12, 0, 80,
+ ' Check your input. Search at least one term'),
+ })
vt.define_screen('unsortedwarning', {
- 'BASE': ('copy', 0, 0, 0, 'attention'),
- 'message': ('search', 12, 0, 80,
- ' Number of records exceeds sort limit'),
- })
+ 'BASE': ('copy', 0, 0, 0, 'attention'),
+ 'message': ('search', 12, 0, 80,
+ ' Number of records exceeds sort limit'),
+ })
vt.define_screen('thereismore', {
- 'BASE': ('copy', 0, 0, 0, 'showrecord'),
- 'message': ('search', 15, 0, 80,
- 'There is more within this record. Use the arrow keys'),
- })
+ 'BASE': ('copy', 0, 0, 0, 'showrecord'),
+ 'message': ('search', 15, 0, 80,
+ 'There is more within this record. Use the arrow keys'),
+ })
vt.define_screen('nofurther', {
- 'BASE': ('copy', 0, 0, 0, 'showrecord'),
- 'message': ('search', 17, 0, 80, 'You cannot go further\.'),
- })
+ 'BASE': ('copy', 0, 0, 0, 'showrecord'),
+ 'message': ('search', 17, 0, 80, 'You cannot go further\.'),
+ })
vt.define_screen('nofurtherback', {
- 'BASE': ('copy', 0, 0, 0, 'showrecord'),
- 'message': ('search', 17, 0, 80,
- 'You cannot go further back'),
- })
+ 'BASE': ('copy', 0, 0, 0, 'showrecord'),
+ 'message': ('search', 17, 0, 80,
+ 'You cannot go further back'),
+ })
# Class to implement our user interface.
@@ -151,29 +151,29 @@ def define_screens(vt):
class UserInterface:
def __init__(self):
- stdwin.setfont('7x14')
- self.queryform = QueryForm()
- self.listform = ListForm()
- self.recordform = RecordForm()
- self.forms = [self.queryform, self.listform, self.recordform]
- define_query_fields(self.queryform)
- self.windows = []
- for form in self.forms:
- if form.formheight > 0:
- form.open()
- self.windows.append(form.window)
+ stdwin.setfont('7x14')
+ self.queryform = QueryForm()
+ self.listform = ListForm()
+ self.recordform = RecordForm()
+ self.forms = [self.queryform, self.listform, self.recordform]
+ define_query_fields(self.queryform)
+ self.windows = []
+ for form in self.forms:
+ if form.formheight > 0:
+ form.open()
+ self.windows.append(form.window)
def __del__(self):
- self.close()
+ self.close()
def close(self):
- for form in self.forms:
- form.close()
+ for form in self.forms:
+ form.close()
def dispatch(self, type, window, detail):
- for form in self.forms:
- if window == form.window:
- form.dispatch(type, detail)
+ for form in self.forms:
+ if window == form.window:
+ form.dispatch(type, detail)
def define_query_fields(f):
@@ -189,25 +189,25 @@ def define_query_fields(f):
class QueryForm(Form):
def __init__(self):
- Form.__init__(self, 'Query form -- CWI Library')
+ Form.__init__(self, 'Query form -- CWI Library')
def dispatch(self, type, detail):
- if type == WE_COMMAND and detail == WC_RETURN:
- print '*** SUBMIT ***'
- else:
- Form.dispatch(self, type, detail)
+ if type == WE_COMMAND and detail == WC_RETURN:
+ print '*** SUBMIT ***'
+ else:
+ Form.dispatch(self, type, detail)
class ListForm(Form):
def __init__(self):
- Form.__init__(self, 'Short list -- CWI Library')
+ Form.__init__(self, 'Short list -- CWI Library')
class RecordForm(Form):
def __init__(self):
- Form.__init__(self, 'Record detail -- CWI Library')
+ Form.__init__(self, 'Record detail -- CWI Library')
main()