Coverage for pygeoapi/models/openapi.py: 77%
11 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 08:15 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 08:15 +0000
1# ****************************** -*-
2# flake8: noqa
3# =================================================================
4#
5# Authors: Francesco Bartoli <xbartolone@gmail.com>
6#
7# Copyright (c) 2025 Francesco Bartoli
8#
9# Permission is hereby granted, free of charge, to any person
10# obtaining a copy of this software and associated documentation
11# files (the "Software"), to deal in the Software without
12# restriction, including without limitation the rights to use,
13# copy, modify, merge, publish, distribute, sublicense, and/or sell
14# copies of the Software, and to permit persons to whom the
15# Software is furnished to do so, subject to the following
16# conditions:
17#
18# The above copyright notice and this permission notice shall be
19# included in all copies or substantial portions of the Software.
20#
21# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
23# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
26# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28# OTHER DEALINGS IN THE SOFTWARE.
29#
30# =================================================================
32from enum import Enum
34from pydantic import BaseModel
35import pydantic
38class SupportedFormats(Enum):
39 JSON = 'json'
40 YAML = 'yaml'
42# Handle Pydantic v1/v2 compatibility
43if pydantic.VERSION.startswith('1'): 43 ↛ 47line 43 didn't jump to line 47 because the condition on line 43 was always true
44 class OAPIFormat(BaseModel):
45 __root__: SupportedFormats = SupportedFormats.YAML
46else:
47 class OAPIFormat(BaseModel):
48 root: SupportedFormats = SupportedFormats.YAML