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