make linter happy
This commit is contained in:
parent
30b0c12ebe
commit
ef83e73a36
18 changed files with 31 additions and 26 deletions
|
@ -76,6 +76,7 @@ GeometrySchema = Annotated[
|
||||||
Discriminator("type"),
|
Discriminator("type"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class AnyGeometrySchema(Schema):
|
class AnyGeometrySchema(Schema):
|
||||||
"""
|
"""
|
||||||
A GeoJSON Geometry
|
A GeoJSON Geometry
|
||||||
|
|
|
@ -10,8 +10,8 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "c3nav.settings")
|
||||||
os.environ.setdefault("C3NAV_CONN_MAX_AGE", "0")
|
os.environ.setdefault("C3NAV_CONN_MAX_AGE", "0")
|
||||||
django_asgi = get_asgi_application()
|
django_asgi = get_asgi_application()
|
||||||
|
|
||||||
from c3nav.control.middleware import UserPermissionsChannelMiddleware
|
from c3nav.control.middleware import UserPermissionsChannelMiddleware # noqa
|
||||||
from c3nav.urls import websocket_urlpatterns
|
from c3nav.urls import websocket_urlpatterns # noqa
|
||||||
|
|
||||||
application = ProtocolTypeRouter({
|
application = ProtocolTypeRouter({
|
||||||
"http": django_asgi,
|
"http": django_asgi,
|
||||||
|
|
|
@ -9,6 +9,7 @@ def api_etag_with_update_cache_key(permissions=True, etag_func=AccessPermission.
|
||||||
|
|
||||||
def inner_wrapper(func):
|
def inner_wrapper(func):
|
||||||
func = api_etag(permissions=permissions, etag_func=etag_func, base_mapdata=base_mapdata)(func)
|
func = api_etag(permissions=permissions, etag_func=etag_func, base_mapdata=base_mapdata)(func)
|
||||||
|
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
def inner_wrapped_func(request, *args, **kwargs):
|
def inner_wrapped_func(request, *args, **kwargs):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -116,7 +116,7 @@ def resolve_editor_path_api(request, path):
|
||||||
response={200: dict, **API404.dict(), **auth_permission_responses},
|
response={200: dict, **API404.dict(), **auth_permission_responses},
|
||||||
openapi_extra={"security": [{"APIKeyAuth": ["editor_access"]}]})
|
openapi_extra={"security": [{"APIKeyAuth": ["editor_access"]}]})
|
||||||
@api_etag() # todo: correct?
|
@api_etag() # todo: correct?
|
||||||
def view_as_api(request, path: str):
|
def get_view_as_api(request, path: str):
|
||||||
"""
|
"""
|
||||||
get editor views rendered as JSON instead of HTML.
|
get editor views rendered as JSON instead of HTML.
|
||||||
`path` is the path after /editor/.
|
`path` is the path after /editor/.
|
||||||
|
@ -138,7 +138,7 @@ def view_as_api(request, path: str):
|
||||||
response={200: dict, **API404.dict(), **auth_permission_responses},
|
response={200: dict, **API404.dict(), **auth_permission_responses},
|
||||||
openapi_extra={"security": [{"APIKeyAuth": ["editor_access", "write"]}]})
|
openapi_extra={"security": [{"APIKeyAuth": ["editor_access", "write"]}]})
|
||||||
@api_etag() # todo: correct?
|
@api_etag() # todo: correct?
|
||||||
def view_as_api(request, path: str):
|
def post_view_as_api(request, path: str):
|
||||||
"""
|
"""
|
||||||
get editor views rendered as JSON instead of HTML.
|
get editor views rendered as JSON instead of HTML.
|
||||||
`path` is the path after /editor/.
|
`path` is the path after /editor/.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
from typing import Sequence
|
from typing import TYPE_CHECKING, Sequence
|
||||||
|
|
||||||
from django.db.models import Prefetch, Q
|
from django.db.models import Prefetch, Q
|
||||||
from shapely import prepared
|
from shapely import prepared
|
||||||
|
@ -55,6 +55,10 @@ def _get_geometries_for_one_level(level):
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from c3nav.mapdata.models import Level
|
||||||
|
|
||||||
|
|
||||||
@dataclass(slots=True)
|
@dataclass(slots=True)
|
||||||
class LevelsForLevel:
|
class LevelsForLevel:
|
||||||
levels: Sequence[int] # IDs of all levels to render for this level, in order, including the level itself
|
levels: Sequence[int] # IDs of all levels to render for this level, in order, including the level itself
|
||||||
|
|
|
@ -270,9 +270,9 @@ def call_api_hybrid_view_for_api(func, request, *args, **kwargs):
|
||||||
|
|
||||||
# todo: fix this
|
# todo: fix this
|
||||||
# api_response = APIResponse(result, status=response.status_code)
|
# api_response = APIResponse(result, status=response.status_code)
|
||||||
if request.method == 'GET':
|
# if request.method == 'GET':
|
||||||
response.add_headers(api_response)
|
# response.add_headers(api_response)
|
||||||
return api_response
|
# return api_response
|
||||||
elif isinstance(response, HttpResponse) and response.status_code in (304, 412):
|
elif isinstance(response, HttpResponse) and response.status_code in (304, 412):
|
||||||
# 304 Not Modified, 412 Precondition Failed
|
# 304 Not Modified, 412 Precondition Failed
|
||||||
return response
|
return response
|
||||||
|
|
|
@ -183,7 +183,7 @@ class MapUpdate(models.Model):
|
||||||
|
|
||||||
logger.info('Rebuilding locator...')
|
logger.info('Rebuilding locator...')
|
||||||
from c3nav.routing.locator import Locator
|
from c3nav.routing.locator import Locator
|
||||||
locator = Locator.rebuild(new_updates[-1].to_tuple, router)
|
Locator.rebuild(new_updates[-1].to_tuple, router)
|
||||||
|
|
||||||
for new_update in reversed(new_updates):
|
for new_update in reversed(new_updates):
|
||||||
new_update.processed = True
|
new_update.processed = True
|
||||||
|
|
|
@ -101,7 +101,8 @@ class LevelRenderData:
|
||||||
if coords:
|
if coords:
|
||||||
last_interpolator = NearestNDInterpolator(np.vstack(coords), np.vstack(values))
|
last_interpolator = NearestNDInterpolator(np.vstack(coords), np.vstack(values))
|
||||||
else:
|
else:
|
||||||
last_interpolator = NearestNDInterpolator(np.array([[0, 0]]), np.array([float(render_level.base_altitude)]))
|
last_interpolator = NearestNDInterpolator(np.array([[0, 0]]),
|
||||||
|
np.array([float(render_level.base_altitude)]))
|
||||||
|
|
||||||
"""
|
"""
|
||||||
second pass, forward to create the LevelRenderData for each level
|
second pass, forward to create the LevelRenderData for each level
|
||||||
|
|
|
@ -99,8 +99,8 @@ class MapRenderer:
|
||||||
geometry = altitudearea.geometry.difference(crop_areas)
|
geometry = altitudearea.geometry.difference(crop_areas)
|
||||||
if not_full_levels:
|
if not_full_levels:
|
||||||
geometry = geometry.filter(bottom=False)
|
geometry = geometry.filter(bottom=False)
|
||||||
engine.add_geometry(geometry, altitude=altitudearea.altitude, fill=FillAttribs(RENDER_COLOR_GROUND_FILL),
|
engine.add_geometry(geometry, altitude=altitudearea.altitude,
|
||||||
category='ground', item=i)
|
fill=FillAttribs(RENDER_COLOR_GROUND_FILL), category='ground', item=i)
|
||||||
|
|
||||||
j = 0
|
j = 0
|
||||||
for (order, color), areas in altitudearea.colors.items():
|
for (order, color), areas in altitudearea.colors.items():
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import json
|
|
||||||
import math
|
import math
|
||||||
from collections import deque, namedtuple
|
from collections import deque, namedtuple
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
|
@ -37,7 +37,8 @@ class PositioningResult(Schema):
|
||||||
response={200: PositioningResult, **auth_responses})
|
response={200: PositioningResult, **auth_responses})
|
||||||
def get_position(request, parameters: LocateRequestSchema):
|
def get_position(request, parameters: LocateRequestSchema):
|
||||||
try:
|
try:
|
||||||
location = Locator.load().locate(parameters.dict()["peers"], permissions=AccessPermission.get_for_request(request))
|
location = Locator.load().locate(parameters.dict()["peers"],
|
||||||
|
permissions=AccessPermission.get_for_request(request))
|
||||||
if location is not None:
|
if location is not None:
|
||||||
# todo: this will overload us probably, group these
|
# todo: this will overload us probably, group these
|
||||||
increment_cache_key('apistats__locate__%s' % location.pk)
|
increment_cache_key('apistats__locate__%s' % location.pk)
|
||||||
|
|
|
@ -306,4 +306,3 @@ def get_route_options_form(request):
|
||||||
if option["name"].startswith("waytype_"):
|
if option["name"].startswith("waytype_"):
|
||||||
option["name"] = "way_types."+data["name"].removeprefix("waytype_")
|
option["name"] = "way_types."+data["name"].removeprefix("waytype_")
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import base64
|
import base64
|
||||||
import logging
|
import logging
|
||||||
import multiprocessing
|
|
||||||
import os
|
import os
|
||||||
import pickle
|
import pickle
|
||||||
import re
|
import re
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue