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