Skip to content

Commit

Permalink
feat: add need_reload flags to model constructors (#322)
Browse files Browse the repository at this point in the history
This PR adds possibility to set need_reload flags in model constructors.
  • Loading branch information
lplonka-splunk authored Oct 29, 2024
2 parents d3cb4d2 + 9a167b4 commit 9b052ab
Showing 1 changed file with 47 additions and 14 deletions.
61 changes: 47 additions & 14 deletions splunktaucclib/rest_handler/endpoint/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ class RestEndpoint:
REST Endpoint.
"""

def __init__(self, user="nobody", app=None, *args, **kwargs):
def __init__(self, user="nobody", app=None, need_reload=False, *args, **kwargs):
"""
:param user:
:param app: if None, it will be base app name
:param need_reload: if reload is needed while GET request
:param args:
:param kwargs:
"""
Expand All @@ -62,8 +62,7 @@ def __init__(self, user="nobody", app=None, *args, **kwargs):
self.args = args
self.kwargs = kwargs

# If reload is needed while GET request
self.need_reload = False
self.need_reload = need_reload

@property
def internal_endpoint(self):
Expand Down Expand Up @@ -110,17 +109,25 @@ class SingleModel(RestEndpoint):
with same format into one conf file.
"""

def __init__(self, conf_name, model, user="nobody", app=None, *args, **kwargs):
def __init__(
self,
conf_name,
model,
user="nobody",
app=None,
need_reload=True,
*args,
**kwargs,
):
"""
:param conf_name: conf file name
:param model: REST model
:type model: RestModel
:param need_reload: if reload is needed while GET request
:param args:
:param kwargs:
"""
super().__init__(user=user, app=app, *args, **kwargs)
self.need_reload = True
super().__init__(user=user, app=app, need_reload=need_reload, *args, **kwargs)

self._model = model
self.conf_name = conf_name
Expand All @@ -140,18 +147,26 @@ class MultipleModel(RestEndpoint):
stanzas with different formats into one conf file.
"""

def __init__(self, conf_name, models, user="nobody", app=None, *args, **kwargs):
def __init__(
self,
conf_name,
models,
user="nobody",
app=None,
need_reload=True,
*args,
**kwargs,
):
"""
:param conf_name:
:type conf_name: str
:param models: list of RestModel
:type models: list
:param need_reload: if reload is needed while GET request
:param args:
:param kwargs:
"""
super().__init__(user=user, app=app, *args, **kwargs)
self.need_reload = True
super().__init__(user=user, app=app, need_reload=need_reload, *args, **kwargs)

self.conf_name = conf_name
self.models = {model.name: model for model in models}
Expand All @@ -172,8 +187,26 @@ class DataInputModel(RestEndpoint):
REST Model for Data Input.
"""

def __init__(self, input_type, model, user="nobody", app=None, *args, **kwargs):
super().__init__(user=user, app=app, *args, **kwargs)
def __init__(
self,
input_type,
model,
user="nobody",
app=None,
need_reload=False,
*args,
**kwargs,
):
"""
:param input_type:
:param model:
:param user:
:param app: if None, it will be base app name
:param need_reload: if reload is needed while GET request
:param args:
:param kwargs:
"""
super().__init__(user=user, app=app, need_reload=need_reload, *args, **kwargs)

self.input_type = input_type
self._model = model
Expand Down

0 comments on commit 9b052ab

Please sign in to comment.