33
44from marshmallow import Schema
55
6- from flask_rest_jsonapi .plugin import BasePlugin
7- from flask_rest_jsonapi .resource import Resource
8- from flask_rest_jsonapi .utils import SPLIT_REL
9- from flask_rest_jsonapi .exceptions import PluginMethodNotImplementedError
6+ from flask_combo_jsonapi .plugin import BasePlugin
7+ from flask_combo_jsonapi .resource import Resource
8+ from flask_combo_jsonapi .utils import SPLIT_REL
9+ from flask_combo_jsonapi .exceptions import PluginMethodNotImplementedError
1010
1111from combojsonapi .utils import get_decorators_for_resource
1212
@@ -16,7 +16,6 @@ class EventSchema(Schema):
1616
1717
1818class EventPlugin (BasePlugin ):
19-
2019 def __init__ (self , trailing_slash : bool = True ):
2120 """
2221
@@ -25,6 +24,7 @@ def __init__(self, trailing_slash: bool = True):
2524 self .trailing_slash = trailing_slash
2625
2726 """Plugin for events routes in json_api"""
27+
2828 @classmethod
2929 def _events_with_methods (cls , cls_events ) -> Generator [Tuple [Any , str ], None , None ]:
3030 """
@@ -35,35 +35,39 @@ def _events_with_methods(cls, cls_events) -> Generator[Tuple[Any, str], None, No
3535 """
3636 for attr_name in dir (cls_events ):
3737 method = None
38- if attr_name .startswith (' event_get_' ):
39- method = ' GET'
40- elif attr_name .startswith (' event_' ):
38+ if attr_name .startswith (" event_get_" ):
39+ method = " GET"
40+ elif attr_name .startswith (" event_" ):
4141 # Processing all other events. May be event_post_smth or just event_smth
42- method = ' POST'
42+ method = " POST"
4343 if method is not None :
4444 yield getattr (cls_events , attr_name ), method
4545
4646 def _create_event_resource (self , base_resource , event , method , view , urls , self_json_api , ** kwargs ):
4747 # noinspection PyTypeChecker
48- new_resource : Resource = type (event .__name__ , (base_resource ,), {
49- 'methods' : [method ],
50- 'schema' : None ,
51- method .lower (): event ,
52- 'event' : True ,
53- })
48+ new_resource : Resource = type (
49+ event .__name__ ,
50+ (base_resource ,),
51+ {
52+ "methods" : [method ],
53+ "schema" : None ,
54+ method .lower (): event ,
55+ "event" : True ,
56+ },
57+ )
5458
5559 new_resource .decorators = get_decorators_for_resource (base_resource , self_json_api )
5660
57- i_view = f' { view } _{ event .__name__ } '
61+ i_view = f" { view } _{ event .__name__ } "
5862 view_func = new_resource .as_view (i_view )
5963
60- url_rule_options = kwargs .get (' url_rule_options' ) or {}
64+ url_rule_options = kwargs .get (" url_rule_options" ) or {}
6165
6266 event_urls = []
6367 for i_url in urls :
6468 i_new_url = urllib .parse .urljoin (i_url , event .__name__ )
65- i_new_url = i_new_url [:- 1 ] if i_new_url [- 1 ] == '/' else i_new_url
66- i_new_url = i_new_url + '/' if self .trailing_slash else i_new_url
69+ i_new_url = i_new_url [:- 1 ] if i_new_url [- 1 ] == "/" else i_new_url
70+ i_new_url = i_new_url + "/" if self .trailing_slash else i_new_url
6771 event_urls .append (i_new_url )
6872 event_urls = tuple (event_urls )
6973
@@ -75,12 +79,14 @@ def _create_event_resource(self, base_resource, event, method, view, urls, self_
7579 for url in event_urls :
7680 self_json_api .app .add_url_rule (url , view_func = view_func , ** url_rule_options )
7781 else :
78- self_json_api .resources .append ({
79- 'resource' : new_resource ,
80- 'view' : i_view ,
81- 'urls' : event_urls ,
82- 'url_rule_options' : url_rule_options ,
83- })
82+ self_json_api .resources .append (
83+ {
84+ "resource" : new_resource ,
85+ "view" : i_view ,
86+ "urls" : event_urls ,
87+ "url_rule_options" : url_rule_options ,
88+ }
89+ )
8490
8591 self_json_api .resource_registry .append (new_resource )
8692
@@ -106,7 +112,7 @@ def before_route(self, resource=None, view=None, urls=None, self_json_api=None,
106112 :param kwargs:
107113 :return:
108114 """
109- if not hasattr (resource , ' events' ):
115+ if not hasattr (resource , " events" ):
110116 return
111117
112118 for event , method in self ._events_with_methods (resource .events ):
0 commit comments