diff options
Diffstat (limited to 'src/interfaces/python/tutorial/pgtools.py')
-rwxr-xr-x | src/interfaces/python/tutorial/pgtools.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/interfaces/python/tutorial/pgtools.py b/src/interfaces/python/tutorial/pgtools.py new file mode 100755 index 00000000000..5355c584d72 --- /dev/null +++ b/src/interfaces/python/tutorial/pgtools.py @@ -0,0 +1,48 @@ +#! /usr/local/bin/python +# pgtools.py - valuable functions for PostGreSQL tutorial +# written 1995 by Pascal ANDRE + +import sys + +# number of rows +scr_size = 24 + +# waits for a key +def wait_key(): + print "Press <enter>" + sys.stdin.read(1) + +# displays a table for a select query result +def display(fields, result): + print result + # gets cols width + fmt = [] + sep = '+' + head = '|' + for i in range(0, len(fields)): + max = len(fields[i]) + for j in range(0, len(result)): + if i < len(result[j]): + if len(result[j][i]) > max: + max = len(result[j][i]) + fmt.append(" %%%ds |" % max) + for j in range(0, max): + sep = sep + '-' + sep = sep + '--+' + for i in range(0, len(fields)): + head = head + fmt[i] % fields[i] + print sep + '\n' + head + '\n' + sep + pos = 6 + for i in range(0, len(result)): + str = '|' + for j in range(0, len(result[i])): + str = str + fmt[j] % result[i][j] + print str + pos = pos + 1 + if pos == scr_size: + print sep + wait_key() + print sep + '\n' + head + '\n' + sep + pos = 6 + print sep + wait_key() |