From b478f4f4b68d40d7b264bb3d446f33fe0418e469 Mon Sep 17 00:00:00 2001 From: Francesco Bartoli Date: Fri, 28 May 2021 16:52:00 +0200 Subject: [PATCH] Fix #695 with a monkey patch (#698) Fix #695 with a monkey patch --- pygeoapi/provider/mvt.py | 6 +++--- pygeoapi/util.py | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pygeoapi/provider/mvt.py b/pygeoapi/provider/mvt.py index 4c00191..4a87216 100644 --- a/pygeoapi/provider/mvt.py +++ b/pygeoapi/provider/mvt.py @@ -33,7 +33,7 @@ import requests from pathlib import Path from urllib.parse import urlparse, urljoin -from pygeoapi.util import is_url +from pygeoapi.util import is_url, url_join from pygeoapi.provider.tile import ( BaseTileProvider, ProviderTileNotFoundError) from pygeoapi.provider.base import ProviderConnectionError @@ -69,7 +69,7 @@ class MVTProvider(BaseTileProvider): 'tileCol', param_type) - self._service_url = urljoin(baseurl, servicepath) + self._service_url = url_join(baseurl, servicepath) self._service_metadata_url = urljoin( self.service_url.split('{tileMatrix}/{tileRow}/{tileCol}')[0], 'metadata') @@ -149,7 +149,7 @@ class MVTProvider(BaseTileProvider): 'tileCol', tile_type) - self._service_url = urljoin(baseurl, servicepath) + self._service_url = url_join(baseurl, servicepath) self._service_metadata_url = urljoin( self.service_url.split('{tileMatrix}/{tileRow}/{tileCol}')[0], 'metadata') diff --git a/pygeoapi/util.py b/pygeoapi/util.py index 96b43ab..4dd7244 100644 --- a/pygeoapi/util.py +++ b/pygeoapi/util.py @@ -485,3 +485,7 @@ def read_data(path): LOGGER.debug('network file') with urlopen(path) as r: return r.read() + + +def url_join(*parts): + return '/'.join([p.strip().strip('/') for p in parts])