com.py
author Eugen Sawin <sawine@me73.com>
Thu, 30 Dec 2010 14:22:05 +0100
changeset 3 89d76549ba6e
parent 0 fb00185487d4
permissions -rwxr-xr-x
Fixed some. Added module prefix.
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")}