def tileSet_from_yaml(mapName): """ Import a TileSet and related models from a YAML file. Example: >>> ts = tileSet_from_yaml('stlhom') >>> ts.name 'stlhom' >>> import models >>> t = models.TileSet.get_by_key_name('ts:stlhom') >>> t.name 'stlhom' >>> t.overview 'o:stlhom' >>> t.ids 'tsids:stlhom' """ from dynTileMapper.dtm_wsgi.models import TileSet,Overview,TileSet_IDS ymlfile = os.path.join(MAP_FILE_HOME,mapName,'dtm.yaml') m = yaml.load(open(ymlfile).read()) overview = Overview(key_name='o:'+m.name) overview.typ = m.overview_typ overview.dat = base64.b64decode(m.overview_dat) overview.width = m.overview_width overview.height = m.overview_height overview_key = overview.put() tsids = TileSet_IDS(key_name='tsids:'+m.name) tsids.ids = zlib.compress(m.ids) tsids_key = tsids.put() tile_set = TileSet(key_name='ts:'+m.name) tile_set.public = True tile_set.name = m.name tile_set.notes = m.notes tile_set.source = m.source tile_set.idName = m.variableNames[m.idVariable] tile_set.idlen = len(m.ids.split(',')) tile_set.cLng = m.cLng tile_set.cLat = m.cLat tile_set.minx = m.minx tile_set.miny = m.miny tile_set.maxx = m.maxx tile_set.maxy = m.maxy tile_set.GMERC_BOUNDS = m.gmerc_bounds tile_set.maxZoom = 20 tile_set.overview = overview_key tile_set.ids = tsids_key tile_set.put() return tile_set