make linter happy

This commit is contained in:
Laura Klünder 2023-12-11 19:02:19 +01:00
parent 30b0c12ebe
commit ef83e73a36
18 changed files with 31 additions and 26 deletions

View file

@ -76,6 +76,7 @@ GeometrySchema = Annotated[
Discriminator("type"), Discriminator("type"),
] ]
class AnyGeometrySchema(Schema): class AnyGeometrySchema(Schema):
""" """
A GeoJSON Geometry A GeoJSON Geometry

View file

@ -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,

View file

@ -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:

View file

@ -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/.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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():

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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