def store_tiles(self, tiles): failed = False for level, tiles in itertools.groupby(tiles, key=lambda t: t.coord[2]): tiles = [t for t in tiles if not t.stored] res = self._get_level(level).store_tiles(tiles) if not res: failed = True return failed
def load(self, tiles): for tile_set, tile_set_tiles in groupby(tiles, self._get_tile_set): tile_set.get_tiles(list(tile_set_tiles)) for tile in tiles: if tile.source is None: return False return True
def remove(self, tiles): return all(tile_set.remove_tiles(list(tile_set_tiles)) for tile_set, tile_set_tiles in groupby(tiles, self._get_tile_set))
def store(self, tiles): return all(tile_set.set_tiles(list(tile_set_tiles)) for tile_set, tile_set_tiles in groupby(tiles, partial(self._get_tile_set, create_db_entry=True)))
def remove(self, tiles): return all( tile_set.remove_tiles(list(tile_set_tiles)) for tile_set, tile_set_tiles in groupby(tiles, self._get_tile_set))
def store(self, tiles): return all( tile_set.set_tiles(list(tile_set_tiles)) for tile_set, tile_set_tiles in groupby( tiles, partial(self._get_tile_set, create_db_entry=True)))