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