Skip to content

Restructure #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 0 additions & 77 deletions openapi_core/exceptions.py

This file was deleted.

1 change: 1 addition & 0 deletions openapi_core/extensions/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""OpenAPI extensions package"""
1 change: 1 addition & 0 deletions openapi_core/extensions/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""OpenAPI X-Model extension package"""
12 changes: 12 additions & 0 deletions openapi_core/extensions/models/factories.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
"""OpenAPI X-Model extension factories module"""
from openapi_core.extensions.models.models import BaseModel


class ModelFactory(object):

def create(self, properties, name=None):
model = BaseModel
if name is not None:
model = type(name, (BaseModel, ), {})

return model(**properties)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""OpenAPI core models module"""
"""OpenAPI X-Model extension models module"""


class BaseModel(dict):
"""Base class for OpenAPI models."""
"""Base class for OpenAPI X-Model."""

def __getattr__(self, attr_name):
"""Only search through properties if attribute not found normally.
Expand All @@ -15,13 +15,3 @@ def __getattr__(self, attr_name):
'type object {0!r} has no attribute {1!r}'
.format(type(self).__name__, attr_name)
)


class ModelFactory(object):

def create(self, properties, name=None):
model = BaseModel
if name is not None:
model = type(name, (BaseModel, ), {})

return model(**properties)
149 changes: 0 additions & 149 deletions openapi_core/parameters.py

This file was deleted.

Empty file added openapi_core/schema/__init__.py
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,18 +1,7 @@
from functools import lru_cache

from openapi_core.schemas import SchemasGenerator


class Components(object):
"""Represents an OpenAPI Components in a service."""

def __init__(
self, schemas=None, responses=None, parameters=None,
request_bodies=None):
self.schemas = schemas and dict(schemas) or {}
self.responses = responses and dict(responses) or {}
self.parameters = parameters and dict(parameters) or {}
self.request_bodies = request_bodies and dict(request_bodies) or {}
from openapi_core.schema.components.models import Components
from openapi_core.schema.schemas.generators import SchemasGenerator


class ComponentsFactory(object):
Expand Down
10 changes: 10 additions & 0 deletions openapi_core/schema/components/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
class Components(object):
"""Represents an OpenAPI Components in a service."""

def __init__(
self, schemas=None, responses=None, parameters=None,
request_bodies=None):
self.schemas = schemas and dict(schemas) or {}
self.responses = responses and dict(responses) or {}
self.parameters = parameters and dict(parameters) or {}
self.request_bodies = request_bodies and dict(request_bodies) or {}
9 changes: 9 additions & 0 deletions openapi_core/schema/exceptions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
"""OpenAPI core schema exceptions module"""


class OpenAPIError(Exception):
pass


class OpenAPIMappingError(OpenAPIError):
pass
Empty file.
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
class Info(object):

def __init__(self, title, version):
self.title = title
self.version = version
"""OpenAPI core infos factories module"""
from openapi_core.schema.infos.models import Info


class InfoFactory(object):
Expand Down
8 changes: 8 additions & 0 deletions openapi_core/schema/infos/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""OpenAPI core infos models module"""


class Info(object):

def __init__(self, title, version):
self.title = title
self.version = version
Empty file.
13 changes: 13 additions & 0 deletions openapi_core/schema/media_types/exceptions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from openapi_core.schema.exceptions import OpenAPIMappingError


class OpenAPIMediaTypeError(OpenAPIMappingError):
pass


class InvalidMediaTypeValue(OpenAPIMediaTypeError):
pass


class InvalidContentType(OpenAPIMediaTypeError):
pass
21 changes: 21 additions & 0 deletions openapi_core/schema/media_types/generators.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""OpenAPI core media types generators module"""
from six import iteritems

from openapi_core.schema.media_types.models import MediaType


class MediaTypeGenerator(object):

def __init__(self, dereferencer, schemas_registry):
self.dereferencer = dereferencer
self.schemas_registry = schemas_registry

def generate(self, content):
for mimetype, media_type in iteritems(content):
schema_spec = media_type.get('schema')

schema = None
if schema_spec:
schema, _ = self.schemas_registry.get_or_create(schema_spec)

yield mimetype, MediaType(mimetype, schema)
Loading