11from ..observer import Observer
22from .._response_treat import ResponseTreat
3- from ..dataset import Dataset
43import requests
54from typing import Union
5+ from .._entity_reader import EntityReader
66
77
8- class Histogram :
9- def __init__ (self , ip_from_cluster : str ):
10- self .CLUSTER_IP = ip_from_cluster
11- self .cluster_url = "http://" + ip_from_cluster + \
12- "/api/learningOrchestra/v1/explore/histogram"
13- self .response_treat = ResponseTreat ()
14- self .INPUT_NAME = "inputDatasetName"
15- self .OUTPUT_NAME = "outputDatasetName"
16- self .FIELDS = "names"
17- self .dataset = Dataset (ip_from_cluster )
8+ class ExploreHistogram :
9+ __INPUT_NAME = "inputDatasetName"
10+ __OUTPUT_NAME = "outputDatasetName"
11+ __FIELDS = "names"
12+
13+ def __init__ (self , cluster_ip : str ):
14+ self .__cluster_ip = cluster_ip
15+ self .__api_path = "/api/learningOrchestra/v1/explore/histogram"
16+ self .__service_url = f'{ cluster_ip } { self .__api_path } '
17+ self .__response_treat = ResponseTreat ()
18+ self .__observer = Observer (self .__cluster_ip )
19+ self .__entity_reader = EntityReader (self .__service_url )
1820
1921 def run_histogram_sync (self ,
2022 dataset_name : str ,
@@ -37,28 +39,16 @@ def run_histogram_sync(self,
3739 """
3840
3941 request_body = {
40- self .INPUT_NAME : dataset_name ,
41- self .OUTPUT_NAME : histogram_name ,
42- self .FIELDS : fields ,
42+ self .__INPUT_NAME : dataset_name ,
43+ self .__OUTPUT_NAME : histogram_name ,
44+ self .__FIELDS : fields ,
4345 }
44- request_url = self .cluster_url
46+ request_url = self .__service_url
4547
4648 response = requests .post (url = request_url , json = request_body )
49+ self .__observer .wait (dataset_name )
4750
48- Observer (histogram_name , self .CLUSTER_IP ).observe_processing (
49- pretty_response )
50-
51- if pretty_response :
52- print (
53- "\n ----------"
54- + " CREATE HISTOGRAM FROM "
55- + dataset_name
56- + " TO "
57- + histogram_name
58- + " ----------"
59- )
60-
61- return self .response_treat .treatment (response , pretty_response )
51+ return self .__response_treat .treatment (response , pretty_response )
6252
6353 def run_histogram_async (self ,
6454 dataset_name : str ,
@@ -83,25 +73,15 @@ def run_histogram_async(self,
8373 """
8474
8575 request_body = {
86- self .INPUT_NAME : dataset_name ,
87- self .OUTPUT_NAME : histogram_name ,
88- self .FIELDS : fields ,
76+ self .__INPUT_NAME : dataset_name ,
77+ self .__OUTPUT_NAME : histogram_name ,
78+ self .__FIELDS : fields ,
8979 }
90- request_url = self .cluster_url
80+ request_url = self .__service_url
9181
9282 response = requests .post (url = request_url , json = request_body )
9383
94- if pretty_response :
95- print (
96- "\n ----------"
97- + " CREATE HISTOGRAM FROM "
98- + dataset_name
99- + " TO "
100- + histogram_name
101- + " ----------"
102- )
103-
104- return self .response_treat .treatment (response , pretty_response )
84+ return self .__response_treat .treatment (response , pretty_response )
10585
10686 def search_all_histograms (self , pretty_response : bool = False ) \
10787 -> Union [dict , str ]:
@@ -115,18 +95,15 @@ def search_all_histograms(self, pretty_response: bool = False) \
11595 or an empty result.
11696 """
11797
118- cluster_url_histogram = self .cluster_url
98+ response = self .__entity_reader .read_all_instances_from_entity ()
99+ return self .__response_treat .treatment (response , pretty_response )
119100
120- response = requests .get (cluster_url_histogram )
121-
122- return self .response_treat .treatment (response , pretty_response )
123-
124- def search_histogram_data (self ,
125- histogram_name : str ,
126- query : dict = {},
127- limit : int = 10 ,
128- skip : int = 0 ,
129- pretty_response : bool = False ) \
101+ def search_histogram_content (self ,
102+ histogram_name : str ,
103+ query : dict = {},
104+ limit : int = 10 ,
105+ skip : int = 0 ,
106+ pretty_response : bool = False ) \
130107 -> Union [dict , str ]:
131108 """
132109 description: This method is responsible for retrieving the histogram
@@ -144,14 +121,10 @@ def search_histogram_data(self,
144121 future content requests.
145122 """
146123
147- cluster_url_histogram = self .cluster_url + "/" + histogram_name + \
148- "?query=" + str (query ) + \
149- "&limit=" + str (limit ) + \
150- "&skip=" + str (skip )
124+ response = self .__entity_reader .read_entity_content (
125+ histogram_name , query , limit , skip )
151126
152- response = requests .get (cluster_url_histogram )
153-
154- return self .response_treat .treatment (response , pretty_response )
127+ return self .__response_treat .treatment (response , pretty_response )
155128
156129 def delete_histogram (self , histogram_name : str ,
157130 pretty_response : bool = False ) -> Union [dict , str ]:
@@ -167,8 +140,7 @@ def delete_histogram(self, histogram_name: str,
167140 correct delete message
168141 """
169142
170- cluster_url_histogram = self .cluster_url + "/" + histogram_name
171-
143+ cluster_url_histogram = f'{ self .__service_url } /{ histogram_name } '
172144 response = requests .delete (cluster_url_histogram )
173145
174- return self .response_treat .treatment (response , pretty_response )
146+ return self .__response_treat .treatment (response , pretty_response )
0 commit comments