Skip to content

Commit a82db5a

Browse files
committed
use csafeloader if available; use FileObjectHandler to read yaml file
1 parent deaa1e8 commit a82db5a

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Use CSafeFile if available
2+
try:
3+
from yaml import CSafeLoader as SafeLoader
4+
except ImportError:
5+
from yaml import SafeLoader
6+
7+
8+
__all__ = ['SafeLoader', ]

openapi_spec_validator/handlers/file.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,9 @@
55
from yaml import load
66

77
from openapi_spec_validator.handlers.base import BaseHandler
8+
from openapi_spec_validator.handlers.compat import SafeLoader
89
from openapi_spec_validator.handlers.utils import uri_to_path
910

10-
try:
11-
from yaml import CSafeLoader as SafeLoader
12-
except ImportError:
13-
from yaml import SafeLoader
14-
1511

1612
class FileObjectHandler(BaseHandler):
1713
"""OpenAPI spec validator file-like object handler."""

openapi_spec_validator/schemas.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
"""OpenAIP spec validator schemas module."""
2-
import json
32
import os
43
import urllib.parse
54
import urllib.request
65

76
import importlib_resources
8-
from yaml import load
97

10-
try:
11-
from yaml import CSafeLoader as SafeLoader
12-
except ImportError:
13-
from yaml import SafeLoader
8+
from openapi_spec_validator.handlers.compat import SafeLoader
9+
from openapi_spec_validator.handlers.file import FileObjectHandler
1410

1511

1612
def get_openapi_schema(version):
@@ -26,4 +22,4 @@ def get_openapi_schema(version):
2622
def read_yaml_file(path, loader=SafeLoader):
2723
"""Open a file, read it and return its contents."""
2824
with open(path) as fh:
29-
return json.loads(json.dumps(load(fh, loader)))
25+
return FileObjectHandler(loader=loader)(fh)

0 commit comments

Comments
 (0)