65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
from app.salary_analytics.services.main import SalaryAnalyticsPipeline
|
|
from app.salary_analytics.services.data_loader import DataLoader
|
|
|
|
|
|
class GlobalState:
|
|
def __init__(self):
|
|
self._pipeline = None
|
|
self._data_loader = None
|
|
self.df = None
|
|
self.salary_predictor = None
|
|
self.salary_earner_analyzer = None
|
|
|
|
# ---- Pipeline ----
|
|
@property
|
|
def pipeline(self):
|
|
if self._pipeline is None:
|
|
self._pipeline = SalaryAnalyticsPipeline()
|
|
return self._pipeline
|
|
|
|
@pipeline.setter
|
|
def pipeline(self, value):
|
|
self._pipeline = value
|
|
|
|
# ---- Data Loader ----
|
|
@property
|
|
def data_loader(self):
|
|
if self._data_loader is None:
|
|
self._data_loader = DataLoader()
|
|
return self._data_loader
|
|
|
|
@data_loader.setter
|
|
def data_loader(self, value):
|
|
self._data_loader = value
|
|
|
|
# ---- DataFrame ----
|
|
@property
|
|
def df(self):
|
|
return self._df
|
|
|
|
@df.setter
|
|
def df(self, value):
|
|
self._df = value
|
|
|
|
# ---- Salary Predictor ----
|
|
@property
|
|
def salary_predictor(self):
|
|
return self._salary_predictor
|
|
|
|
@salary_predictor.setter
|
|
def salary_predictor(self, value):
|
|
self._salary_predictor = value
|
|
|
|
# ---- Salary Earner Analyzer ----
|
|
@property
|
|
def salary_earner_analyzer(self):
|
|
return self._salary_earner_analyzer
|
|
|
|
@salary_earner_analyzer.setter
|
|
def salary_earner_analyzer(self, value):
|
|
self._salary_earner_analyzer = value
|
|
|
|
|
|
state = GlobalState()
|
|
|