This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch master in repository tilestache.
commit 092d2d4d988ff24c500fefb0bd0707a53f9d3621 Author: Bas Couwenberg <[email protected]> Date: Mon Oct 31 07:47:10 2016 +0100 Imported Upstream version 1.51.3 --- CHANGELOG | 3 +++ TileStache/Core.py | 5 +---- TileStache/Mapnik.py | 9 ++++++-- TileStache/Pixels.py | 8 ++++++- TileStache/VERSION | 2 +- man/tilestache-compose.1 | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ man/tilestache-list.1 | 40 +++++++++++++++++++++++++++++++++ man/tilestache-seed.1 | 4 ++-- tests/cache_tests.py | 7 ++++-- tests/provider_tests.py | 5 ++++- tests/vectiles_tests.py | 4 +++- tests/vector_tests.py | 5 ++++- 12 files changed, 135 insertions(+), 15 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f0af519..edcc9e6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2016-10-30: 1.51.3 +- Fixes for debian packaging + 2016-10-27: 1.51.2 - Adding support for .pbf format for Mapbox Vector Tiles - Configuration can be passed as a dictionary in addition to path to JSON file. diff --git a/TileStache/Core.py b/TileStache/Core.py index b1e5776..a404bbe 100644 --- a/TileStache/Core.py +++ b/TileStache/Core.py @@ -755,15 +755,12 @@ def _preview(layer): <script type="text/javascript" defer> <!-- var template = '{Z}/{X}/{Y}.%(ext)s'; - var provider = new com.modestmaps.TemplatedMapProvider(template); - var map = new MM.Map('map', provider, null, [ + var map = new MM.Map('map', new MM.TemplatedLayer(template), null, [ new MM.TouchHandler(), new MM.DragHandler(), new MM.DoubleClickHandler() ]); map.setCenterZoom(new com.modestmaps.Location(%(lat).6f, %(lon).6f), %(zoom)d); - // hashify it - new MM.Hash(map); //--> </script> </body> diff --git a/TileStache/Mapnik.py b/TileStache/Mapnik.py index fff47ac..8c14299 100644 --- a/TileStache/Mapnik.py +++ b/TileStache/Mapnik.py @@ -151,8 +151,13 @@ class ImageProvider: # always release the lock global_mapnik_lock.release() - img = Image.frombytes('RGBA', (width, height), img.tostring()) - + if hasattr(Image, 'frombytes'): + # Image.fromstring is deprecated past Pillow 2.0 + img = Image.frombytes('RGBA', (width, height), img.tostring()) + else: + # PIL still uses Image.fromstring + img = Image.fromstring('RGBA', (width, height), img.tostring()) + logging.debug('TileStache.Mapnik.ImageProvider.renderArea() %dx%d in %.3f from %s', width, height, time() - start_time, self.mapfile) return img diff --git a/TileStache/Pixels.py b/TileStache/Pixels.py index b3c74fa..399d0d3 100644 --- a/TileStache/Pixels.py +++ b/TileStache/Pixels.py @@ -101,7 +101,13 @@ def apply_palette(image, palette, t_index): indexes.append(mapping[(r, g, b)]) - output = Image.frombytes('P', image.size, ''.join(indexes)) + if hasattr(Image, 'frombytes'): + # Image.fromstring is deprecated past Pillow 2.0 + output = Image.frombytes('P', image.size, ''.join(indexes)) + else: + # PIL still uses Image.fromstring + output = Image.fromstring('P', image.size, ''.join(indexes)) + bits = int(ceil(log(len(palette)) / log(2))) palette += [(0, 0, 0)] * (256 - len(palette)) diff --git a/TileStache/VERSION b/TileStache/VERSION index aa618f0..f8997b4 100644 --- a/TileStache/VERSION +++ b/TileStache/VERSION @@ -1 +1 @@ -1.51.2 +1.51.3 diff --git a/man/tilestache-compose.1 b/man/tilestache-compose.1 new file mode 100644 index 0000000..347b4d8 --- /dev/null +++ b/man/tilestache-compose.1 @@ -0,0 +1,58 @@ +.TH TILESTACHE-COMPOSE 1 "Nov 10, 2010" +.SH NAME +tilestache-compose \- set a map coverage area +.SH SYNOPSIS +.B tilestache-compose +.RI [ options ] " file" ... +.SH DESCRIPTION +This manual page documents briefly the \fBtilestache-compose\fR command. +.PP +There are three ways to set a map coverage area. +.PP +1) Center, zoom, and dimensions: create a map of the specified size, +centered on a given geographical point at a given zoom level: +.PP + tilestache-compose.py \-c config.json \-l layer-name \-d 800 800 \-n 37.8 \-122.3 \-z 11 out.jpg +.PP +2) Extent and dimensions: create a map of the specified size that +adequately covers the given geographical extent: +.PP + tilestache-compose.py \-c config.json \-l layer-name \-d 800 800 \-e 36.9 \-123.5 38.9 \-121.2 out.png +.PP +3) Extent and zoom: create a map at the given zoom level that covers +the precise geographical extent, at whatever pixel size is necessary: +.PP + tilestache-compose.py \-c config.json \-l layer-name \-e 36.9 \-123.5 38.9 \-121.2 \-z 9 out.jpg +.SH OPTIONS +.TP +\fB-c\fR, \fB\-\-config\fR \fIfile\fR +Path to configuration file. +.TP +\fB-l\fR, \fB\-\-layer\fR \fIlayer\fR +Layer name from configuration. +.TP +\fB-n\fR, \fB\-\-center\fR \fIlat lon\fR +Geographic center of map. +.TP +\fB-e\fR, \fB\-\-extent\fR \fIlat lon lat lon\fR +Geographic extent of map. +.TP +\fB-z\fR, \fB\-\-zoom\fR \fIlevel\fR +Zoom level. +.TP +\fB-d\fR, \fB\-\-dimensions\fR \fIwidth height\fR +Pixel width, height of output image. +.TP +\fB-v\fR, \fB\-\-verbose\fR +Make a bunch of noise. +.TP +\fB-i\fR, \fB\-\-include-paths\fR \fIpaths\fR +Add the following colon-separated list of paths to Python's include path (aka sys.path) +.TP +\fB-x\fR, \fB\-\-ignore-cached\fR +Re-render every tile, whether it is in the cache already or not. +.TP +\fB-h\fR, \fB\-\-help\fR +Show summary of options. +.SH AUTHOR +\fBTileStache\fR was written by Michal Migurski <[email protected]>. diff --git a/man/tilestache-list.1 b/man/tilestache-list.1 new file mode 100644 index 0000000..44462a4 --- /dev/null +++ b/man/tilestache-list.1 @@ -0,0 +1,40 @@ +.TH TILESTACHE-LIST 1 "Nov 10, 2010" +.SH NAME +tilestache-list \- generates list of tiles based on geographic or other criteria +.SH SYNOPSIS +.B tilestache-list +.RI [ options ] +.RI [ zoom... ] +.SH DESCRIPTION +This manual page documents briefly the \fBtilestache-list\fR command. +.PP +\fBtilestache\-list\fP generates a list of tiles based on geographic or +other criteria. +.PP +No images are created and no Tilestache configuration is read, but a list +of tile coordinates in Z/X/Y form compatible with +\fBtilestache-seed \-\-tile-list\fP output. +.PP +Example: +.PP + tilestache\-list.py \-b 52.55 13.28 52.46 13.51 11 12 13 +.PP +Protip: seed a cache in parallel on 8 CPUs with split and xargs like this: +.PP + tilestache\-list.py 12 13 14 15 | split \-l 20 \- tiles/list\- + ls \-1 tiles/list\-* | xargs \-n1 \-P8 tilestache\-seed.py \-c tilestache.cfg \-l osm \-\-tile\-list +.SH OPTIONS +.TP +\fB-b\fR, \fB\-\-bbox\fR \fIlat lon lat lon\fR +Bounding box in floating point geographic coordinates: +south west north east. +.TP +\fB-p\fR, \fB\-\-padding\fR \fInumber\fR +Extra margin of tiles to add around bounded area. +.TP +\fB\-\-from\-mbtiles\fR \fIfile\fR +Optional input file for tiles, will be read as an MBTiles 1.1 tileset. +See http://mbtiles.org for more information. +Overrides \-\-bbox and \-\-padding. +.SH AUTHOR +\fBTileStache\fR was written by Michal Migurski <[email protected]>. diff --git a/man/tilestache-seed.1 b/man/tilestache-seed.1 index 97d1691..7570548 100644 --- a/man/tilestache-seed.1 +++ b/man/tilestache-seed.1 @@ -54,13 +54,13 @@ More information in http://tilestache.org/doc/#caches. Optional output file for tiles, will be created as an MBTiles 1.1 tileset. See http://mbtiles.org for more information. .TP .B \-\-from\-mbtiles -Optional input file for tiles, will be read as an MBTiles 1.1 tileset. See http://mbtiles.org for more information. Overrides --extension, --bbox and --padding (this may change). +Optional input file for tiles, will be read as an MBTiles 1.1 tileset. See http://mbtiles.org for more information. Overrides \-\-extension, \-\-bbox and \-\-padding (this may change). .TP .B \-\-to-s3 Optional output bucket for tiles, will be populated with tiles in a standard Z/X/Y layout. Three required arguments: AWS access-key, secret, and bucket name. .TP .B \-\-tile\-list -Optional file of tile coordinates, a simple text list of Z/X/Y coordinates. Overrides --bbox and --padding. +Optional file of tile coordinates, a simple text list of Z/X/Y coordinates. Overrides \-\-bbox and \-\-padding. .TP .B \-\-error\-list Optional file of failed tile coordinates, a simple text list of Z/X/Y coordinates. If provided, failed tiles will be logged to this file instead of stopping tilestache-seed. diff --git a/tests/cache_tests.py b/tests/cache_tests.py index 87a6eea..66e2e68 100644 --- a/tests/cache_tests.py +++ b/tests/cache_tests.py @@ -1,7 +1,10 @@ -from unittest import TestCase -from . import utils +import os +from unittest import TestCase, skipIf import memcache +from . import utils + +@skipIf('OFFLINE_TESTS' in os.environ, "Offline tests only") class CacheTests(TestCase): '''Tests various Cache configurations that reads from cfg file''' diff --git a/tests/provider_tests.py b/tests/provider_tests.py index 59b3371..181f271 100644 --- a/tests/provider_tests.py +++ b/tests/provider_tests.py @@ -1,8 +1,11 @@ # This Python file uses the following encoding: utf-8 +import os -from unittest import TestCase +from unittest import TestCase, skipIf from . import utils + +@skipIf('OFFLINE_TESTS' in os.environ, "Offline tests only") class ProviderTests(TestCase): '''Tests Proxy Provider that reads from cfg file''' diff --git a/tests/vectiles_tests.py b/tests/vectiles_tests.py index 34e95ed..95adb1b 100644 --- a/tests/vectiles_tests.py +++ b/tests/vectiles_tests.py @@ -1,4 +1,5 @@ -from unittest import TestCase +import os +from unittest import TestCase, skipIf from collections import namedtuple from math import hypot import json @@ -144,6 +145,7 @@ class PostGISVectorTestBase(object): self.conn.ExecuteSQL('DROP TABLE if exists %s' % (self.testTableName,)) +@skipIf('NO_DATABASE' in os.environ, "No database tests requested") class VectorProviderTest(PostGISVectorTestBase, TestCase): '''Various vectiles tests on top of PostGIS''' diff --git a/tests/vector_tests.py b/tests/vector_tests.py index 1edfc82..38082a2 100644 --- a/tests/vector_tests.py +++ b/tests/vector_tests.py @@ -1,5 +1,6 @@ -from unittest import TestCase +from unittest import TestCase, skipIf import json +import os from osgeo import ogr from shapely.geometry import Point, LineString, Polygon, MultiPolygon, asShape @@ -11,6 +12,8 @@ from . import utils # If you want to run them locally, create a similar PostGIS database. # Look at .travis.yml for details. + +@skipIf('NO_DATABASE' in os.environ, "No database tests requested") class PostGISVectorTestBase(object): ''' Base Class for PostGIS Vector tests. Has methods to: -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/tilestache.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

