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
|