Skip to content

Commit 86827d8

Browse files
authored
Refactoring resource and alchemy data layer, tests fixes (#5)
Some automated refactoring + tests fixes (for example using `SPLIT_REL` in relationship queries)
1 parent 725cf11 commit 86827d8

File tree

6 files changed

+877
-1051
lines changed

6 files changed

+877
-1051
lines changed

README.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ A minimal API
2323

2424
.. code-block:: python
2525
26-
# -*- coding: utf-8 -*-
27-
2826
from flask import Flask
2927
from flask_rest_jsonapi import Api, ResourceDetail, ResourceList
3028
from flask_sqlalchemy import SQLAlchemy

flask_rest_jsonapi/data_layers/alchemy.py

Lines changed: 109 additions & 96 deletions
Large diffs are not rendered by default.

flask_rest_jsonapi/data_layers/base.py

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,48 @@
1-
"""The base class of a data layer. If you want to create your own data layer you must inherite from this base class"""
1+
"""
2+
The base class of a data layer.
3+
If you want to create your own data layer
4+
you must inherit from this base class
5+
"""
26

37
import types
48

59

6-
class BaseDataLayer(object):
10+
class BaseDataLayer:
711
"""Base class of a data layer"""
812

9-
REWRITABLE_METHODS = ('query',
10-
'before_create_object',
11-
'after_create_object',
12-
'before_get_object',
13-
'after_get_object',
14-
'before_get_collection',
15-
'after_get_collection',
16-
'before_update_object',
17-
'after_update_object',
18-
'before_delete_object',
19-
'after_delete_object',
20-
'before_create_relationship',
21-
'after_create_relationship',
22-
'before_get_relationship',
23-
'after_get_relationship',
24-
'before_update_relationship',
25-
'after_update_relationship',
26-
'before_delete_relationship',
27-
'after_delete_relationship',
28-
'retrieve_object_query')
13+
REWRITABLE_METHODS = (
14+
"query",
15+
"before_create_object",
16+
"after_create_object",
17+
"before_get_object",
18+
"after_get_object",
19+
"before_get_collection",
20+
"after_get_collection",
21+
"before_update_object",
22+
"after_update_object",
23+
"before_delete_object",
24+
"after_delete_object",
25+
"before_create_relationship",
26+
"after_create_relationship",
27+
"before_get_relationship",
28+
"after_get_relationship",
29+
"before_update_relationship",
30+
"after_update_relationship",
31+
"before_delete_relationship",
32+
"after_delete_relationship",
33+
"retrieve_object_query",
34+
)
2935

3036
def __init__(self, kwargs):
3137
"""Intialize an data layer instance with kwargs
3238
3339
:param dict kwargs: information about data layer instance
3440
"""
35-
if kwargs.get('methods') is not None:
36-
self.bound_rewritable_methods(kwargs['methods'])
37-
kwargs.pop('methods')
41+
if kwargs.get("methods") is not None:
42+
self.bound_rewritable_methods(kwargs["methods"])
43+
kwargs.pop("methods")
3844

39-
kwargs.pop('class', None)
45+
kwargs.pop("class", None)
4046

4147
for key, value in kwargs.items():
4248
setattr(self, key, value)
@@ -253,8 +259,9 @@ def before_get_relationship(self, relationship_field, related_type_, related_id_
253259
"""
254260
raise NotImplementedError
255261

256-
def after_get_relationship(self, obj, related_objects, relationship_field, related_type_, related_id_field,
257-
view_kwargs):
262+
def after_get_relationship(
263+
self, obj, related_objects, relationship_field, related_type_, related_id_field, view_kwargs,
264+
):
258265
"""Make work after to get information about a relationship
259266
260267
:param obj: an object from data layer

0 commit comments

Comments
 (0)