Skip to content

Commit 9186306

Browse files
committed
change dependencies to callables
1 parent 638fed0 commit 9186306

File tree

3 files changed

+13
-32
lines changed

3 files changed

+13
-32
lines changed

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ Note: Minor version `0.X.0` update might break the API, It's recommended to pin
1212

1313
- forward `catalog_dependency` in `OGCFeaturesFactory` and `OGCTilesFactory` when using `Endpoints` factory
1414

15+
### changed
16+
17+
- changed `function_parameters_query` and `properties_filter_query` from dependencies to simple callabe
18+
1519
## [0.4.2] - 2023-08-24
1620

1721
### changed

tipg/dependencies.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from tipg.resources.enums import MediaType
1616
from tipg.settings import TMSSettings
1717

18-
from fastapi import Depends, HTTPException, Path, Query
18+
from fastapi import HTTPException, Path, Query
1919

2020
from starlette.requests import Request
2121

@@ -249,7 +249,7 @@ def properties_query(
249249

250250
def properties_filter_query(
251251
request: Request,
252-
collection: Annotated[Collection, Depends(CollectionParams)],
252+
collection: Collection,
253253
) -> List[Tuple[str, str]]:
254254
"""Get properties to filter on excluding reserved keys."""
255255
exclude = [
@@ -339,7 +339,7 @@ def TileParams(
339339

340340
def function_parameters_query( # noqa: C901
341341
request: Request,
342-
collection: Annotated[Collection, Depends(CollectionParams)],
342+
collection: Collection,
343343
) -> Dict[str, str]:
344344
"""Get parameters for function layers."""
345345
function_parameters = {}

tipg/factory.py

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,7 @@
44
import csv
55
import json
66
from dataclasses import dataclass, field
7-
from typing import (
8-
Any,
9-
Callable,
10-
Dict,
11-
Generator,
12-
Iterable,
13-
List,
14-
Literal,
15-
Optional,
16-
Tuple,
17-
)
7+
from typing import Any, Callable, Dict, Generator, Iterable, List, Literal, Optional
188
from urllib.parse import urlencode
199

2010
import jinja2
@@ -756,12 +746,6 @@ async def items( # noqa: C901
756746
bbox_filter: Annotated[Optional[List[float]], Depends(bbox_query)],
757747
datetime_filter: Annotated[Optional[List[str]], Depends(datetime_query)],
758748
properties: Annotated[Optional[List[str]], Depends(properties_query)],
759-
properties_filter: Annotated[
760-
List[Tuple[str, str]], Depends(properties_filter_query)
761-
],
762-
function_parameters: Annotated[
763-
Dict[str, str], Depends(function_parameters_query)
764-
],
765749
cql_filter: Annotated[Optional[AstType], Depends(filter_query)],
766750
sortby: Annotated[Optional[str], Depends(sortby_query)],
767751
geom_column: Annotated[
@@ -824,8 +808,8 @@ async def items( # noqa: C901
824808
ids_filter=ids_filter,
825809
bbox_filter=bbox_filter,
826810
datetime_filter=datetime_filter,
827-
properties_filter=properties_filter,
828-
function_parameters=function_parameters,
811+
properties_filter=properties_filter_query(request, collection),
812+
function_parameters=function_parameters_query(request, collection),
829813
cql_filter=cql_filter,
830814
sortby=sortby,
831815
properties=properties,
@@ -1061,7 +1045,6 @@ async def item(
10611045
),
10621046
] = None,
10631047
properties: Optional[List[str]] = Depends(properties_query),
1064-
function_parameters: Dict[str, str] = Depends(function_parameters_query),
10651048
output_type: Annotated[
10661049
Optional[MediaType], Depends(ItemsOutputType)
10671050
] = None,
@@ -1082,7 +1065,7 @@ async def item(
10821065
simplify=simplify,
10831066
ids_filter=[itemId],
10841067
properties=properties,
1085-
function_parameters=function_parameters,
1068+
function_parameters=function_parameters_query(request, collection),
10861069
geom=geom_column,
10871070
dt=datetime_column,
10881071
geom_as_wkt=geom_as_wkt,
@@ -1571,12 +1554,6 @@ async def collection_get_tile(
15711554
request: Request,
15721555
collection: Annotated[Collection, Depends(self.collection_dependency)],
15731556
tile: Annotated[Tile, Depends(TileParams)],
1574-
properties_filter: Annotated[
1575-
List[Tuple[str, str]], Depends(properties_filter_query)
1576-
],
1577-
function_parameters: Annotated[
1578-
Dict[str, str], Depends(function_parameters_query)
1579-
],
15801557
tileMatrixSetId: Annotated[
15811558
Literal[tuple(self.supported_tms.list())],
15821559
f"Identifier selecting one of the TileMatrixSetId supported (default: '{tms_settings.default_tms}')",
@@ -1622,8 +1599,8 @@ async def collection_get_tile(
16221599
ids_filter=ids_filter,
16231600
bbox_filter=bbox_filter,
16241601
datetime_filter=datetime_filter,
1625-
properties_filter=properties_filter,
1626-
function_parameters=function_parameters,
1602+
properties_filter=properties_filter_query(request, collection),
1603+
function_parameters=function_parameters_query(request, collection),
16271604
cql_filter=cql_filter,
16281605
sortby=sortby,
16291606
properties=properties,

0 commit comments

Comments
 (0)