Skip to content

Commit b364419

Browse files
committed
update
1 parent 9772367 commit b364419

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

docs/source/plugins.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -435,8 +435,10 @@ The below template provides a minimal example (let's call the file ``mycooljsonf
435435
"""Inherit from parent class"""
436436
437437
super().__init__({'name': 'cooljson', 'geom': None})
438-
self.mimetype = 'application/json; subtype:mycooljson'
439-
self.attachment = False
438+
self.f = 'cooljson' # f= value
439+
self.mimetype = 'application/json; subtype:mycooljson' # response media type
440+
self.attachment = False # whether to provide as an attachment (default False)
441+
self.extension = 'cooljson' # filename extension if providing as an attachment
440442
441443
def write(self, options={}, data=None):
442444
"""custom writer"""

pygeoapi/api/itemtypes.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -669,8 +669,9 @@ def get_collection_items(
669669
'collections/items/index.html',
670670
content, request.locale)
671671
return headers, HTTPStatus.OK, content
672-
elif request.format in dataset_formatters: # render
673-
formatter = dataset_formatters[request.format]
672+
elif request.format in [df.f for df in dataset_formatters.values()]:
673+
formatter = [v for k, v in dataset_formatters.items() if
674+
v.f == request.format][0]
674675

675676
try:
676677
content = formatter.write(
@@ -1089,7 +1090,7 @@ def get_oas_30(cfg: dict, locale: str) -> tuple[list[dict[str, str]], dict[str,
10891090
dataset_formatters = get_dataset_formatters(v)
10901091
coll_f_parameter = deepcopy(get_oas_30_parameters(cfg, locale))['f'] # noqa
10911092
for key, value in dataset_formatters.items():
1092-
coll_f_parameter['schema']['enum'].append(key)
1093+
coll_f_parameter['schema']['enum'].append(value.f)
10931094

10941095
paths[items_path] = {
10951096
'get': {

pygeoapi/formatter/csv_.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def __init__(self, formatter_def: dict):
5252

5353
super().__init__({'name': 'csv', 'geom': geom})
5454
self.mimetype = 'text/csv; charset=utf-8'
55+
self.f = 'csv'
5556
self.extension = 'csv'
5657

5758
def write(self, options: dict = {}, data: dict = None) -> str:

pygeoapi/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -767,7 +767,7 @@ def get_dataset_formatters(dataset: dict) -> dict:
767767

768768
for key, value in PLUGINS['formatter'].items():
769769
df2 = load_plugin('formatter', {'name': key})
770-
dataset_formatters[df2.name] = df2
770+
dataset_formatters[key] = df2
771771
for df in dataset.get('formatters', []):
772772
df2 = load_plugin('formatter', df)
773773
dataset_formatters[df2.name] = df2

0 commit comments

Comments
 (0)