[tilestache] 03/22: Imported Upstream version 1.49.11
Bas Couwenberg
sebastic at debian.org
Thu Oct 27 21:40:29 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository tilestache.
commit 4f62fef75b24de02cfbaf7af73283106832e05f6
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Mon Oct 17 08:30:29 2016 +0200
Imported Upstream version 1.49.11
---
PKG-INFO | 2 +-
TileStache/Core.py | 2 ++
TileStache/Providers.py | 49 ++++++++++++++++++++++++++++++++++++++-----
TileStache/VERSION | 2 +-
TileStache/Vector/__init__.py | 2 +-
TileStache/__init__.py | 8 +++----
doc/TileStache.Providers.html | 16 +++++++++++---
doc/TileStache.html | 4 ++--
doc/index.html | 14 ++++++++++++-
9 files changed, 81 insertions(+), 18 deletions(-)
diff --git a/PKG-INFO b/PKG-INFO
index 3203a25..cf8cbe7 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: TileStache
-Version: 1.49.10
+Version: 1.49.11
Summary: A stylish alternative for caching your map tiles.
Home-page: http://tilestache.org
Author: Michal Migurski
diff --git a/TileStache/Core.py b/TileStache/Core.py
index f9be3cc..c89eee7 100644
--- a/TileStache/Core.py
+++ b/TileStache/Core.py
@@ -655,6 +655,8 @@ class Layer:
if palette256 is not None:
self.palette256 = bool(palette256)
+ else:
+ self.palette256 = None
class KnownUnknown(Exception):
""" There are known unknowns. That is to say, there are things that we now know we don't know.
diff --git a/TileStache/Providers.py b/TileStache/Providers.py
index 8cc7b6d..0d309e7 100644
--- a/TileStache/Providers.py
+++ b/TileStache/Providers.py
@@ -200,8 +200,12 @@ class Proxy:
Provider name string from Modest Maps built-ins.
See ModestMaps.builtinProviders.keys() for a list.
Example: "OPENSTREETMAP".
+ - timeout (optional)
+ Defines a timeout in seconds for the request.
+ If not defined, the global default timeout setting will be used.
- One of the above is required. When both are present, url wins.
+
+ Either url or provider is required. When both are present, url wins.
Example configuration:
@@ -210,7 +214,7 @@ class Proxy:
"url": "http://tile.openstreetmap.org/{Z}/{X}/{Y}.png"
}
"""
- def __init__(self, layer, url=None, provider_name=None):
+ def __init__(self, layer, url=None, provider_name=None, timeout=None):
""" Initialize Proxy provider with layer and url.
"""
if url:
@@ -225,6 +229,8 @@ class Proxy:
else:
raise Exception('Missing required url or provider parameter to Proxy provider')
+ self.timeout = timeout
+
@staticmethod
def prepareKeywordArgs(config_dict):
""" Convert configured parameters to keyword args for __init__().
@@ -237,6 +243,9 @@ class Proxy:
if 'provider' in config_dict:
kwargs['provider_name'] = config_dict['provider']
+ if 'timeout' in config_dict:
+ kwargs['timeout'] = config_dict['timeout']
+
return kwargs
def renderTile(self, width, height, srs, coord):
@@ -245,8 +254,12 @@ class Proxy:
img = None
urls = self.provider.getTileUrls(coord)
+ # Explicitly tell urllib2 to get no proxies
+ proxy_support = urllib2.ProxyHandler({})
+ url_opener = urllib2.build_opener(proxy_support)
+
for url in urls:
- body = urllib.urlopen(url).read()
+ body = url_opener.open(url, timeout=self.timeout).read()
tile = Verbatim(body)
if len(urls) == 1:
@@ -278,11 +291,18 @@ class UrlTemplate:
- referer (optional)
String to use in the "Referer" header when making HTTP requests.
+ - source projection (optional)
+ Projection to transform coordinates into before making request
+ - timeout (optional)
+ Defines a timeout in seconds for the request.
+ If not defined, the global default timeout setting will be used.
+
More on string substitutions:
- http://docs.python.org/library/string.html#template-strings
"""
- def __init__(self, layer, template, referer=None):
+ def __init__(self, layer, template, referer=None, source_projection=None,
+ timeout=None):
""" Initialize a UrlTemplate provider with layer and template string.
http://docs.python.org/library/string.html#template-strings
@@ -290,6 +310,8 @@ class UrlTemplate:
self.layer = layer
self.template = Template(template)
self.referer = referer
+ self.source_projection = source_projection
+ self.timeout = timeout
@staticmethod
def prepareKeywordArgs(config_dict):
@@ -300,6 +322,12 @@ class UrlTemplate:
if 'referer' in config_dict:
kwargs['referer'] = config_dict['referer']
+ if 'source projection' in config_dict:
+ kwargs['source_projection'] = Geography.getProjectionByName(config_dict['source projection'])
+
+ if 'timeout' in config_dict:
+ kwargs['timeout'] = config_dict['timeout']
+
return kwargs
def renderArea(self, width, height, srs, xmin, ymin, xmax, ymax, zoom):
@@ -307,6 +335,17 @@ class UrlTemplate:
Each argument (width, height, etc.) is substituted into the template.
"""
+ if self.source_projection is not None:
+ ne_location = self.layer.projection.projLocation(Point(xmax, ymax))
+ ne_point = self.source_projection.locationProj(ne_location)
+ ymax = ne_point.y
+ xmax = ne_point.x
+ sw_location = self.layer.projection.projLocation(Point(xmin, ymin))
+ sw_point = self.source_projection.locationProj(sw_location)
+ ymin = sw_point.y
+ xmin = sw_point.x
+ srs = self.source_projection.srs
+
mapping = {'width': width, 'height': height, 'srs': srs, 'zoom': zoom}
mapping.update({'xmin': xmin, 'ymin': ymin, 'xmax': xmax, 'ymax': ymax})
@@ -316,7 +355,7 @@ class UrlTemplate:
if self.referer:
req.add_header('Referer', self.referer)
- body = urllib2.urlopen(req).read()
+ body = urllib2.urlopen(req, timeout=self.timeout).read()
tile = Verbatim(body)
return tile
diff --git a/TileStache/VERSION b/TileStache/VERSION
index 300ca1e..041c636 100644
--- a/TileStache/VERSION
+++ b/TileStache/VERSION
@@ -1 +1 @@
-1.49.10
+1.49.11
diff --git a/TileStache/Vector/__init__.py b/TileStache/Vector/__init__.py
index 9ed0d49..6ab0b08 100644
--- a/TileStache/Vector/__init__.py
+++ b/TileStache/Vector/__init__.py
@@ -450,7 +450,7 @@ def _open_layer(driver_name, parameters, dirpath):
layer = datasource.GetLayer(0)
if layer.GetSpatialRef() is None and driver_name != 'SQLite':
- raise KnownUnknown('Couldn\'t get a layer from data source %s' % source_name)
+ raise KnownUnknown('The layer has no spatial reference: %s' % source_name)
#
# Return the layer and the datasource.
diff --git a/TileStache/__init__.py b/TileStache/__init__.py
index b1a519b..2375b4b 100644
--- a/TileStache/__init__.py
+++ b/TileStache/__init__.py
@@ -224,9 +224,6 @@ def requestHandler2(config_hint, path_info, query_string=None, script_name=''):
except KeyError:
callback = None
- if layer.allowed_origin:
- headers.setdefault('Access-Control-Allow-Origin', layer.allowed_origin)
-
#
# Special case for index page.
#
@@ -255,7 +252,10 @@ def requestHandler2(config_hint, path_info, query_string=None, script_name=''):
else:
status_code, headers, content = layer.getTileResponse(coord, extension)
-
+
+ if layer.allowed_origin:
+ headers.setdefault('Access-Control-Allow-Origin', layer.allowed_origin)
+
if callback and 'json' in headers['Content-Type']:
headers['Content-Type'] = 'application/javascript; charset=utf-8'
content = '%s(%s)' % (callback, content)
diff --git a/doc/TileStache.Providers.html b/doc/TileStache.Providers.html
index 168a443..7e637eb 100644
--- a/doc/TileStache.Providers.html
+++ b/doc/TileStache.Providers.html
@@ -126,8 +126,12 @@ Additional arguments:<br>
Provider name string from Modest Maps built-ins.<br>
See ModestMaps.builtinProviders.keys() for a list.<br>
Example: "OPENSTREETMAP".<br>
+- timeout (optional)<br>
+ Defines a timeout in seconds for the request.<br>
+ If not defined, the global default timeout setting will be used.<br>
<br>
-One of the above is required. When both are present, url wins.<br>
+ <br>
+Either url or provider is required. When both are present, url wins.<br>
<br>
Example configuration:<br>
<br>
@@ -137,7 +141,7 @@ Example configuration:<br>
}<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
-<dl><dt><a name="Proxy-__init__"><strong>__init__</strong></a>(self, layer, url<font color="#909090">=None</font>, provider_name<font color="#909090">=None</font>)</dt><dd><tt>Initialize <a href="#Proxy">Proxy</a> provider with layer and url.</tt></dd></dl>
+<dl><dt><a name="Proxy-__init__"><strong>__init__</strong></a>(self, layer, url<font color="#909090">=None</font>, provider_name<font color="#909090">=None</font>, timeout<font color="#909090">=None</font>)</dt><dd><tt>Initialize <a href="#Proxy">Proxy</a> provider with layer and url.</tt></dd></dl>
<dl><dt><a name="Proxy-renderTile"><strong>renderTile</strong></a>(self, width, height, srs, coord)</dt></dl>
@@ -164,11 +168,17 @@ Additional arguments:<br>
- referer (optional)<br>
String to use in the "Referer" header when making HTTP requests.<br>
<br>
+- source projection (optional)<br>
+ Projection to transform coordinates into before making request<br>
+- timeout (optional)<br>
+ Defines a timeout in seconds for the request.<br>
+ If not defined, the global default timeout setting will be used.<br>
+ <br>
More on string substitutions:<br>
- <a href="http://docs.python.org/library/string.html#template-strings">http://docs.python.org/library/string.html#template-strings</a><br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
-<dl><dt><a name="UrlTemplate-__init__"><strong>__init__</strong></a>(self, layer, template, referer<font color="#909090">=None</font>)</dt><dd><tt>Initialize a <a href="#UrlTemplate">UrlTemplate</a> provider with layer and template string.<br>
+<dl><dt><a name="UrlTemplate-__init__"><strong>__init__</strong></a>(self, layer, template, referer<font color="#909090">=None</font>, source_projection<font color="#909090">=None</font>, timeout<font color="#909090">=None</font>)</dt><dd><tt>Initialize a <a href="#UrlTemplate">UrlTemplate</a> provider with layer and template string.<br>
<br>
<a href="http://docs.python.org/library/string.html#template-strings">http://docs.python.org/library/string.html#template-strings</a></tt></dd></dl>
diff --git a/doc/TileStache.html b/doc/TileStache.html
index 1cc721a..0561bf0 100644
--- a/doc/TileStache.html
+++ b/doc/TileStache.html
@@ -6,7 +6,7 @@
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>TileStache</strong></big></big> (version 1.49.10)</font></td
+<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>TileStache</strong></big></big> (version 1.49.11)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a></font></td></tr></table>
<p><tt>A stylish alternative for caching your map tiles.<br>
@@ -190,6 +190,6 @@ Fractions of a second may be present if
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
-<td width="100%"><strong>__version__</strong> = '1.49.10'<br>
+<td width="100%"><strong>__version__</strong> = '1.49.11'<br>
<strong>stdout</strong> = <open file '<stdout>', mode 'w'></td></tr></table>
</body></html>
\ No newline at end of file
diff --git a/doc/index.html b/doc/index.html
index 2a2a83c..1472da6 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -76,7 +76,7 @@
</p>
<p>
- <strong>This document covers TileStache version 1.49.10</strong>.
+ <strong>This document covers TileStache version 1.49.11</strong>.
</p>
<p>
@@ -1082,6 +1082,10 @@ Proxy provider parameters:
<code>ModestMaps.builtinProviders.keys()</code> for a list. Example:
<samp>"OPENSTREETMAP"</samp>.
</dd>
+ <dt>timeout</dt>
+ Defines a timeout in seconds for the request.
+ If not defined, the global default timeout setting will be used.
+ </dd>
</dl>
<p>
@@ -1312,6 +1316,14 @@ UrlTemplate provider parameters:
Some WMS servers use the Referer request header to authenticate requests;
this parameter provides one.
</dd>
+ <dt>source projection</dt>
+ Names a geographic projection, explained in <a href="#projections">Projections</a>, that
+ coordinates should be transformed to for requests.
+ </dd>
+ <dt>timeout</dt>
+ Defines a timeout in seconds for the request.
+ If not defined, the global default timeout setting will be used.
+ </dd>
</dl>
<p>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/tilestache.git
More information about the Pkg-grass-devel
mailing list