cau/gridmarshal.py
author Eugen Sawin <sawine@me73.com>
Thu, 30 Dec 2010 18:31:19 +0100
changeset 7 95ea605276a3
child 11 a131769728f1
permissions -rw-r--r--
Moved cau to cau.
sawine@7
     1
import ConfigParser
sawine@7
     2
from grid import Grid
sawine@7
     3
sawine@7
     4
meta_section = "meta"
sawine@7
     5
data_section = "cells"
sawine@7
     6
sawine@7
     7
def dumpGrid(grid, filename):
sawine@7
     8
	config = ConfigParser.RawConfigParser()
sawine@7
     9
sawine@7
    10
	config.add_section(meta_section)
sawine@7
    11
	config.set(meta_section, 'min x', grid.minx)
sawine@7
    12
	config.set(meta_section, 'max x', grid.maxx)
sawine@7
    13
	config.set(meta_section, 'min y', grid.miny)
sawine@7
    14
	config.set(meta_section, 'max y', grid.maxy)
sawine@7
    15
	config.set(meta_section, 'cell no', len(grid))	
sawine@7
    16
	
sawine@7
    17
	config.add_section(data_section)
sawine@7
    18
	config.set(data_section, "cells", ";".join([str(pos) for pos in grid.cells.iterkeys()]))
sawine@7
    19
sawine@7
    20
	with open(filename, 'wb') as configfile:
sawine@7
    21
		config.write(configfile)
sawine@7
    22
sawine@7
    23
def loadGrid(filename):
sawine@7
    24
	config = ConfigParser.RawConfigParser()
sawine@7
    25
	config.read(filename)
sawine@7
    26
sawine@7
    27
	grid = Grid()
sawine@7
    28
	grid.minx = config.getint(meta_section, "min x")
sawine@7
    29
	grid.maxx = config.getint(meta_section, "max x")
sawine@7
    30
	grid.miny = config.getint(meta_section, "min y")
sawine@7
    31
	grid.maxy = config.getint(meta_section, "max y")
sawine@7
    32
sawine@7
    33
	cells = config.get(data_section, "cells")
sawine@7
    34
	for cell in cells.split(";"):
sawine@7
    35
		cell = [int(cell.strip("(),")) for cell in cell.split()]
sawine@7
    36
		grid.cells[(cell[0], cell[1])] = 1
sawine@7
    37
	return grid