diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..bd337f7 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,8 @@ +# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.191.1/containers/python-3/.devcontainer/base.Dockerfile + +# [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6 +ARG VARIANT="3.9" +FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} + +# vsketch as of Aug 25, 2021 +RUN pip3 --disable-pip-version-check --no-cache-dir install https://github.com/abey79/vsketch/archive/6d4b4ea1de27ba563032ce1aee02457c16d4ea60.zip diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..f6df7b2 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,21 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.191.1/containers/python-3 +{ + "name": "Prettymaps", + "postStartCommand": "script/bootstrap", + "build": { + "dockerfile": "Dockerfile", + "context": "..", + "args": { + "VARIANT": "3.9" + } + }, + + "settings": { + "python.pythonPath": "/usr/local/bin/python", + }, + + "extensions": ["ms-python.python", "ms-python.vscode-pylance"], + + "remoteUser": "vscode" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..287291a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.py[cod] +*.egg-info +cache diff --git a/prettymaps/draw.py b/prettymaps/draw.py index 456644d..a1ba4a5 100644 --- a/prettymaps/draw.py +++ b/prettymaps/draw.py @@ -106,9 +106,9 @@ def plot_shapes(shapes, ax, vsketch = None, palette = None, **kwargs): # Parse query (by coordinates, OSMId or name) def parse_query(query): - if type(query) in([Polygon, MultiPolygon]): + if isinstance(query, (Polygon, MultiPolygon)): return 'polygon' - elif type(query) == tuple: + elif isinstance(query, tuple): return 'coordinates' elif re.match('''[A-Z][0-9]+''', query): return 'osmid' @@ -222,7 +222,7 @@ def plot( ax.add_patch(PolygonPatch(geom, **drawing_kwargs['background'])) else: vsketch.geometry(geom) - + # Adjust bounds xmin, ymin, xmax, ymax = layers['perimeter'].buffer(max_dilation).bounds if vsketch is None: diff --git a/script/bootstrap b/script/bootstrap new file mode 100755 index 0000000..1eda704 --- /dev/null +++ b/script/bootstrap @@ -0,0 +1,9 @@ +#!/bin/sh +# Resolve all dependencies that the application requires to run. + +# Stop on errors +set -e + +cd "$(dirname "$0")/.." + +pip3 install -e .