Skip to content

Commit 5d9a671

Browse files
authored
Merge pull request #25 from p1c2u/feature/restructure
Restructure
2 parents 548a7d6 + 36f7d4e commit 5d9a671

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+1236
-1070
lines changed

openapi_core/exceptions.py

-77
This file was deleted.

openapi_core/extensions/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""OpenAPI extensions package"""
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""OpenAPI X-Model extension package"""
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
"""OpenAPI X-Model extension factories module"""
2+
from openapi_core.extensions.models.models import BaseModel
3+
4+
5+
class ModelFactory(object):
6+
7+
def create(self, properties, name=None):
8+
model = BaseModel
9+
if name is not None:
10+
model = type(name, (BaseModel, ), {})
11+
12+
return model(**properties)
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
"""OpenAPI core models module"""
1+
"""OpenAPI X-Model extension models module"""
22

33

44
class BaseModel(dict):
5-
"""Base class for OpenAPI models."""
5+
"""Base class for OpenAPI X-Model."""
66

77
def __getattr__(self, attr_name):
88
"""Only search through properties if attribute not found normally.
@@ -15,13 +15,3 @@ def __getattr__(self, attr_name):
1515
'type object {0!r} has no attribute {1!r}'
1616
.format(type(self).__name__, attr_name)
1717
)
18-
19-
20-
class ModelFactory(object):
21-
22-
def create(self, properties, name=None):
23-
model = BaseModel
24-
if name is not None:
25-
model = type(name, (BaseModel, ), {})
26-
27-
return model(**properties)

openapi_core/parameters.py

-149
This file was deleted.

openapi_core/schema/__init__.py

Whitespace-only changes.

openapi_core/schema/components/__init__.py

Whitespace-only changes.

openapi_core/components.py renamed to openapi_core/schema/components/factories.py

+2-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,7 @@
11
from functools import lru_cache
22

3-
from openapi_core.schemas import SchemasGenerator
4-
5-
6-
class Components(object):
7-
"""Represents an OpenAPI Components in a service."""
8-
9-
def __init__(
10-
self, schemas=None, responses=None, parameters=None,
11-
request_bodies=None):
12-
self.schemas = schemas and dict(schemas) or {}
13-
self.responses = responses and dict(responses) or {}
14-
self.parameters = parameters and dict(parameters) or {}
15-
self.request_bodies = request_bodies and dict(request_bodies) or {}
3+
from openapi_core.schema.components.models import Components
4+
from openapi_core.schema.schemas.generators import SchemasGenerator
165

176

187
class ComponentsFactory(object):
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Components(object):
2+
"""Represents an OpenAPI Components in a service."""
3+
4+
def __init__(
5+
self, schemas=None, responses=None, parameters=None,
6+
request_bodies=None):
7+
self.schemas = schemas and dict(schemas) or {}
8+
self.responses = responses and dict(responses) or {}
9+
self.parameters = parameters and dict(parameters) or {}
10+
self.request_bodies = request_bodies and dict(request_bodies) or {}

openapi_core/schema/exceptions.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
"""OpenAPI core schema exceptions module"""
2+
3+
4+
class OpenAPIError(Exception):
5+
pass
6+
7+
8+
class OpenAPIMappingError(OpenAPIError):
9+
pass

openapi_core/schema/infos/__init__.py

Whitespace-only changes.

openapi_core/infos.py renamed to openapi_core/schema/infos/factories.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
class Info(object):
2-
3-
def __init__(self, title, version):
4-
self.title = title
5-
self.version = version
1+
"""OpenAPI core infos factories module"""
2+
from openapi_core.schema.infos.models import Info
63

74

85
class InfoFactory(object):

openapi_core/schema/infos/models.py

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
"""OpenAPI core infos models module"""
2+
3+
4+
class Info(object):
5+
6+
def __init__(self, title, version):
7+
self.title = title
8+
self.version = version

openapi_core/schema/media_types/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from openapi_core.schema.exceptions import OpenAPIMappingError
2+
3+
4+
class OpenAPIMediaTypeError(OpenAPIMappingError):
5+
pass
6+
7+
8+
class InvalidMediaTypeValue(OpenAPIMediaTypeError):
9+
pass
10+
11+
12+
class InvalidContentType(OpenAPIMediaTypeError):
13+
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
"""OpenAPI core media types generators module"""
2+
from six import iteritems
3+
4+
from openapi_core.schema.media_types.models import MediaType
5+
6+
7+
class MediaTypeGenerator(object):
8+
9+
def __init__(self, dereferencer, schemas_registry):
10+
self.dereferencer = dereferencer
11+
self.schemas_registry = schemas_registry
12+
13+
def generate(self, content):
14+
for mimetype, media_type in iteritems(content):
15+
schema_spec = media_type.get('schema')
16+
17+
schema = None
18+
if schema_spec:
19+
schema, _ = self.schemas_registry.get_or_create(schema_spec)
20+
21+
yield mimetype, MediaType(mimetype, schema)

0 commit comments

Comments
 (0)