programming, 787–802
socket objects
bind method, 790
close method, 793
connect method, 793
defined, 790
listen method, 790
makefile method, 232, 827
send method, 793
setblocking method, 825
sockets
basic functionality, 237–238, 781, 788–793
client calls, 792
command pipes and, 839
defined, 223, 773
development options, 777
forked processes and, 807
independent programs and, 238
looking like files and streams, 827–839
machine identifiers, 781
output stream buffering and, 232
pipes and, 659
practical usage considerations, 796
programming support, 787
running programs locally, 794
running programs remotely, 795–797
server calls, 790–791
spawning clients in parallel, 798–801
spawning GUI as separate programs, 649–
654
talking to reserved ports, 801–802
transferring byte strings/objects, 791
use cases, 239
socketserver module, 56, 786, 818
sorted function, 119
source code lines, counting, 338
spam, 914, 1117
SPARK toolkit, 1439
spawned programs
command-line pipes, 654–662
defined, 112
sockets example, 649–654, 798–801
spawned threads (see threads)
spelling checkers, 1119
Spinbox widget class, 595
splitting files, 283–286, 289–292
SQL databases
additional resources, 1354
API tutorial with SQLite, 1332–1339
building record dictionaries, 1339–1342
code consolidation, 1342–1343
functionality, 1304, 1329–1330
interface overview, 1330–1332
loading database tables from files, 1344–
1347
SQL utility scripts, 1347–1354
SQLAlchemy system, 36, 1330
SQLite database system
adding records, 1334
getting started, 1333
making databases/tables, 1334
overview, 1332
running queries, 1336–1338
running updates, 1338
SQLObject system, 36, 1330, 1355
SSL (Secure Sockets Layer), 1257
ssl module, 786, 1257
stacks
built-in options, 1360–1362
customizing performance monitors, 1366
defined, 1360
defining Stack class, 1364–1366
defining stack module, 1362–1363
evaluating expressions with, 1465–1469
in-place list modifications, 1369–1370
as lists, 1360
timing improvements, 1371–1373
tuple tree, 1367–1369
Stajano, Frank, 75
standard dialogs, 426–438
standard streams (see input/output streams)
start command, 99, 261
state information
combining techniques, 1183
extensions to CGI model, 1182
hidden form input fields, 1176
HTTP cookies, 1177–1181
Internet applications and, 1296
passing with PyMailCGI, 1230, 1254–1257,
1262
process exit status, 219
saving in CGI scripts, 1174–1183
SAX parsers and, 1429
server-side databases, 1181
thread exits, 220–222
URL query parameters, 1176
status codes, exit, 216–219
1578 | Index