sawine@0
|
1 |
import grid
|
sawine@0
|
2 |
|
sawine@1
|
3 |
commands = {}
|
sawine@1
|
4 |
|
sawine@1
|
5 |
def help(socket, client):
|
sawine@1
|
6 |
socket.sendto("\n".join([key + ": " + value[1]
|
sawine@1
|
7 |
for key, value in commands.iteritems()]) + "\n", client)
|
sawine@1
|
8 |
|
sawine@0
|
9 |
def createGrid(socket, client, (name,)):
|
sawine@0
|
10 |
grid.createGrid(name)
|
sawine@0
|
11 |
#print "grid %s created" % name
|
sawine@0
|
12 |
socket.sendto("grid %s created\n" % name, client)
|
sawine@0
|
13 |
|
sawine@0
|
14 |
def listGrids(socket, client):
|
sawine@0
|
15 |
#print grid.grids
|
sawine@0
|
16 |
socket.sendto(" ".join(grid.grids.iterkeys()) + "\n", client)
|
sawine@0
|
17 |
|
sawine@0
|
18 |
def lookupGrid(socket, client, name):
|
sawine@0
|
19 |
if name not in grid.grids:
|
sawine@0
|
20 |
socket.sendto("grid %s not found\n" % name, client)
|
sawine@0
|
21 |
return None
|
sawine@0
|
22 |
else:
|
sawine@0
|
23 |
return grid.grids[name]
|
sawine@0
|
24 |
|
sawine@0
|
25 |
def listCells(socket, client, (gridName,)):
|
sawine@0
|
26 |
grid = lookupGrid(socket, client, gridName)
|
sawine@0
|
27 |
if grid:
|
sawine@0
|
28 |
socket.sendto(" ".join([str(cell) for cell in grid.cells.itervalues()])
|
sawine@0
|
29 |
+ "\n", client)
|
sawine@0
|
30 |
|
sawine@0
|
31 |
def setCell(socket, client, (gridName, cellId, value)):
|
sawine@0
|
32 |
grid = lookupGrid(socket, client, gridName)
|
sawine@0
|
33 |
if grid:
|
sawine@0
|
34 |
grid.set(int(cellId), int(value))
|
sawine@0
|
35 |
#socket.sendto("cell %s on grid %s set to %s\n" %(cellId, gridName, value),
|
sawine@0
|
36 |
# client)
|
sawine@0
|
37 |
|
sawine@0
|
38 |
def iterate(socket, client, (gridName, iterNo)):
|
sawine@0
|
39 |
pass
|
sawine@0
|
40 |
|
sawine@0
|
41 |
def addObserver(socket, client, (gridName,)):
|
sawine@0
|
42 |
grid = lookupGrid(socket, client, gridName)
|
sawine@0
|
43 |
if grid:
|
sawine@0
|
44 |
grid.addObserver(socket, client)
|
sawine@1
|
45 |
socket.sendto("observer added: " + str(client) + "\n", client)
|
sawine@0
|
46 |
|
sawine@1
|
47 |
commands = {"help": (help, "help"),
|
sawine@1
|
48 |
"create grid": (createGrid, "creates grid"),
|
sawine@1
|
49 |
"list grids": (listGrids, "lists all grids"),
|
sawine@1
|
50 |
"set cell": (setCell, "sets the value of a cell"),
|
sawine@1
|
51 |
"list cells": (listCells, "lists all cells of a grid"),
|
sawine@1
|
52 |
"iterate": (iterate, "iterates"),
|
sawine@1
|
53 |
"add observer": (addObserver, "adds an observer to a grid's events")}
|