From 2daeb7d0d47ffe17bde861ba7e6463f9d42b8da4 Mon Sep 17 00:00:00 2001 From: Ian Dees Date: Mon, 27 Mar 2017 17:46:18 -0700 Subject: [PATCH 1/2] Add the ability to list individual tiles that should stay in the TOI --- tilequeue/command.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tilequeue/command.py b/tilequeue/command.py index bdf3f9f8..60d64414 100755 --- a/tilequeue/command.py +++ b/tilequeue/command.py @@ -994,17 +994,23 @@ def tilequeue_prune_tiles_of_interest(cfg, peripherals): logger.info('Fetching tiles recently requested ... done. %s found', n_trr) - for name, info in prune_cfg.get('always-include-bboxes', {}).items(): + for name, info in prune_cfg.get('always-include', {}).items(): logger.info('Adding in tiles from %s ...', name) - bounds = map(float, info['bbox'].split(',')) - bounds_tileset = set() - for coord in tile_generator_for_single_bounds( - bounds, info['min_zoom'], info['max_zoom']): - coord_int = coord_marshall_int(coord) - bounds_tileset.add(coord_int) - n_inc = len(bounds_tileset) - new_toi = new_toi.union(bounds_tileset) + immortal_tiles = set() + if 'bbox' in info: + bounds = map(float, info['bbox'].split(',')) + for coord in tile_generator_for_single_bounds( + bounds, info['min_zoom'], info['max_zoom']): + coord_int = coord_marshall_int(coord) + immortal_tiles.add(coord_int) + elif 'tiles' in info: + tiles = map(deserialize_coord, info['tiles']) + tiles = map(coord_marshall_int, tiles) + immortal_tiles.update(tiles) + + n_inc = len(immortal_tiles) + new_toi = new_toi.union(immortal_tiles) logger.info('Adding in tiles from %s ... done. %s found', name, n_inc) From e17b902dcd4f6ae1dcef7cda693b1ddeb67c3e00 Mon Sep 17 00:00:00 2001 From: Ian Dees Date: Wed, 29 Mar 2017 14:28:39 -0700 Subject: [PATCH 2/2] Add the ability to read from a file with one tile per line --- tilequeue/command.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tilequeue/command.py b/tilequeue/command.py index 60d64414..922761d4 100755 --- a/tilequeue/command.py +++ b/tilequeue/command.py @@ -1008,6 +1008,12 @@ def tilequeue_prune_tiles_of_interest(cfg, peripherals): tiles = map(deserialize_coord, info['tiles']) tiles = map(coord_marshall_int, tiles) immortal_tiles.update(tiles) + elif 'file' in info: + with open(info['file'], 'r') as f: + immortal_tiles.update( + coord_marshall_int(deserialize_coord(l.strip())) + for l in f + ) n_inc = len(immortal_tiles) new_toi = new_toi.union(immortal_tiles)