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

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# ================================================================= 

31 

32from enum import Enum 

33 

34from pydantic import BaseModel 

35import pydantic 

36 

37 

38class SupportedFormats(Enum): 

39 JSON = 'json' 

40 YAML = 'yaml' 

41 

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