diff --git a/src/c3nav/api/__init__.py b/src/c3nav/api/__init__.py index 5d3f3ed1..ed1be8ff 100644 --- a/src/c3nav/api/__init__.py +++ b/src/c3nav/api/__init__.py @@ -1,6 +1,6 @@ from functools import wraps -from rest_framework.generics import GenericAPIView +from rest_framework.generics import GenericAPIView from rest_framework.renderers import JSONRenderer from c3nav.mapdata.utils.json import json_encoder_reindent diff --git a/src/c3nav/mapdata/api.py b/src/c3nav/mapdata/api.py index c04fd8ad..def6b983 100644 --- a/src/c3nav/mapdata/api.py +++ b/src/c3nav/mapdata/api.py @@ -87,7 +87,7 @@ def api_etag(permissions=True, etag_func=AccessPermission.etag_func, cache_param if cache_parameters is not None: for param, type_ in cache_parameters.items(): value = int(param in request.GET) if type_ == bool else type_(request.GET.get(param)) - cache_key += ':'+urlsafe_base64_encode(str(value).encode()).decode() + cache_key += ':'+urlsafe_base64_encode(str(value).encode()) data = request_cache.get(cache_key) if data is not None: response = Response(data) diff --git a/src/c3nav/mapdata/fields.py b/src/c3nav/mapdata/fields.py index 948a8f44..7edf1169 100644 --- a/src/c3nav/mapdata/fields.py +++ b/src/c3nav/mapdata/fields.py @@ -78,7 +78,7 @@ class GeometryField(models.TextField): 'point': (Point, ) }[self.geomtype] - def _validate_geomtype(self, value, exception: typing.Type[Exception]=ValidationError): + def _validate_geomtype(self, value, exception: typing.Type[Exception] = ValidationError): if not isinstance(value, self.classes): raise exception('Expected %s instance, got %s instead.' % (' or '.join(c.__name__ for c in self.classes), repr(value))) diff --git a/src/c3nav/mapdata/models/__init__.py b/src/c3nav/mapdata/models/__init__.py index 20ae3182..f7572fa6 100644 --- a/src/c3nav/mapdata/models/__init__.py +++ b/src/c3nav/mapdata/models/__init__.py @@ -1,8 +1,8 @@ -from c3nav.mapdata.models.update import MapUpdate # noqa from c3nav.mapdata.models.access import AccessRestriction # noqa +from c3nav.mapdata.models.geometry.level import AltitudeArea, Building, Door, Space # noqa +from c3nav.mapdata.models.geometry.space import AltitudeMarker, Area, Hole, LineObstacle, Obstacle, Stair # noqa +from c3nav.mapdata.models.graph import GraphEdge, GraphNode, WayType # noqa from c3nav.mapdata.models.level import Level # noqa -from c3nav.mapdata.models.geometry.level import Building, Space, Door, AltitudeArea # noqa -from c3nav.mapdata.models.geometry.space import Area, Stair, Obstacle, LineObstacle, Hole, AltitudeMarker # noqa -from c3nav.mapdata.models.locations import Location, LocationSlug, LocationGroup, LocationGroupCategory # noqa +from c3nav.mapdata.models.locations import Location, LocationGroup, LocationGroupCategory, LocationSlug # noqa from c3nav.mapdata.models.source import Source # noqa -from c3nav.mapdata.models.graph import GraphNode, WayType, GraphEdge # noqa +from c3nav.mapdata.models.update import MapUpdate # noqa diff --git a/src/c3nav/mapdata/render/engines/__init__.py b/src/c3nav/mapdata/render/engines/__init__.py index 13070edf..db74d088 100644 --- a/src/c3nav/mapdata/render/engines/__init__.py +++ b/src/c3nav/mapdata/render/engines/__init__.py @@ -1,13 +1,13 @@ from django.conf import settings from django.core import checks -from c3nav.mapdata.render.engines.base import register_engine, get_engine, get_engine_filetypes # noqa +from c3nav.mapdata.render.engines.base import get_engine, get_engine_filetypes, register_engine # noqa from c3nav.mapdata.render.engines.blender import BlenderEngine # noqa -from c3nav.mapdata.render.engines.openscadold import OldOpenSCADEngine # noqa from c3nav.mapdata.render.engines.openscad import OpenSCADEngine # noqa -from c3nav.mapdata.render.engines.wavefront import WavefrontEngine # noqa +from c3nav.mapdata.render.engines.openscadold import OldOpenSCADEngine # noqa from c3nav.mapdata.render.engines.stl import STLEngine # noqa from c3nav.mapdata.render.engines.svg import SVGEngine # noqa +from c3nav.mapdata.render.engines.wavefront import WavefrontEngine # noqa @checks.register() diff --git a/src/c3nav/mapdata/render/geometry/__init__.py b/src/c3nav/mapdata/render/geometry/__init__.py index 6bc17b9e..1c2c39c2 100644 --- a/src/c3nav/mapdata/render/geometry/__init__.py +++ b/src/c3nav/mapdata/render/geometry/__init__.py @@ -1,3 +1,3 @@ -from c3nav.mapdata.render.geometry.hybrid import hybrid_union, HybridGeometry # noqa -from c3nav.mapdata.render.geometry.level import LevelGeometries # noqa from c3nav.mapdata.render.geometry.altitudearea import AltitudeAreaGeometries # noqa +from c3nav.mapdata.render.geometry.hybrid import HybridGeometry, hybrid_union # noqa +from c3nav.mapdata.render.geometry.level import LevelGeometries # noqa diff --git a/src/requirements-tileserver.txt b/src/requirements-tileserver.txt index 32227c6c..6c7f1602 100644 --- a/src/requirements-tileserver.txt +++ b/src/requirements-tileserver.txt @@ -1,3 +1,3 @@ -requests>=2.19,<2.20 -numpy>=1.15,<1.16 -pylibmc>=1.5,<1.6 +requests==2.22.0 +numpy==1.17.4 +pylibmc==1.6.1 diff --git a/src/requirements/dev.txt b/src/requirements/dev.txt index 9128ca2f..c67a3651 100644 --- a/src/requirements/dev.txt +++ b/src/requirements/dev.txt @@ -1,4 +1,4 @@ -flake8>=3.5,<3.6 -pycodestyle>=2.3,<2.4 +flake8==3.7.9 +pycodestyle==2.5.0 isort django-debug-toolbar diff --git a/src/requirements/htmlmin.txt b/src/requirements/htmlmin.txt index 6c909096..25b7131a 100644 --- a/src/requirements/htmlmin.txt +++ b/src/requirements/htmlmin.txt @@ -1 +1 @@ -django-htmlmin>=0.10,<0.11 +django-htmlmin==0.11.0 diff --git a/src/requirements/opengl.txt b/src/requirements/opengl.txt index 09a4976d..6ec6c7bf 100644 --- a/src/requirements/opengl.txt +++ b/src/requirements/opengl.txt @@ -1 +1 @@ -ModernGL>=5.4,<5.5 +ModernGL==5.5.4 diff --git a/src/requirements/production.txt b/src/requirements/production.txt index 4d708d77..1925f84f 100644 --- a/src/requirements/production.txt +++ b/src/requirements/production.txt @@ -1,17 +1,17 @@ -Django>=2.1,<2.2 -django-bootstrap3>=11.0,<11.1 -django-compressor==2.2 -csscompressor -djangorestframework>=3.9,<3.10 -django-filter>=2.0,<2.1 -shapely>=1.6,<1.7 -pybind11>=2.2,<2.3 -MeshPy>=2018.2,<2018.3 -rtree>=0.8,<0.9 -celery>=4.2,<4.3 -requests>=2.19,<2.20 -Pillow>=6.2,<6.3 -qrcode>=6.0,<6.1 -matplotlib>=2.2,<2.3 -scipy>=1.1,<1.2 -django_libsass>=0.7,<0.8 +Django==2.2.8 +django-bootstrap3==12.0.0 +django-compressor==2.3 +csscompressor==0.9.5 +djangorestframework==3.10.3 +django-filter==2.2.0 +shapely==1.6.4.post2 +pybind11==2.4.3 +MeshPy==2018.2.1 +# rtree==0.9.1 +celery==4.3.0 +requests==2.22.0 +Pillow==6.2.1 +qrcode==6.1 +matplotlib==3.1.2 +scipy==1.3.3 +django_libsass==0.7 diff --git a/src/requirements/redis.txt b/src/requirements/redis.txt index 0db31905..f9b781eb 100644 --- a/src/requirements/redis.txt +++ b/src/requirements/redis.txt @@ -1,2 +1,2 @@ -django-redis>=4.9,<4.10 -redis>=2.10,<2.11 +django-redis==4.10.0 +redis==3.3.11 diff --git a/src/requirements/rsvg.txt b/src/requirements/rsvg.txt index d93b0758..1fa13d3a 100644 --- a/src/requirements/rsvg.txt +++ b/src/requirements/rsvg.txt @@ -1,2 +1,2 @@ pgi==0.0.11.2 -cairocffi>=0.9,<0.10 +cairocffi==1.1.0 diff --git a/src/requirements/sentry.txt b/src/requirements/sentry.txt index ea66cca1..fb470dba 100644 --- a/src/requirements/sentry.txt +++ b/src/requirements/sentry.txt @@ -1 +1 @@ -sentry-sdk>=0.6.2,<0.7 \ No newline at end of file +sentry-sdk==0.13.5