Skip to content

Commit 2097304

Browse files
committed
Refactioring client
1 parent d9a0887 commit 2097304

8 files changed

Lines changed: 119 additions & 42 deletions

File tree

learning_orchestra_client/builder/builder.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ def __init__(self, ip_from_cluster):
1515
self.CODE = "modelingCode"
1616
self.CLASSIFIERS_LIST = "classifiersList"
1717
self.dataset = Dataset(ip_from_cluster)
18-
self.WAIT_TIME = 3
1918
self.METADATA_INDEX = 0
2019

2120
def run_builder_sync(self, train_dataset_name, test_dataset_name,
@@ -37,6 +36,7 @@ def run_builder_sync(self, train_dataset_name, test_dataset_name,
3736
3837
return: Several model predictions.
3938
"""
39+
4040
if pretty_response:
4141
print(
4242
"\n----------"
@@ -46,10 +46,7 @@ def run_builder_sync(self, train_dataset_name, test_dataset_name,
4646
+ test_dataset_name
4747
+ " ----------"
4848
)
49-
Observer(train_dataset_name, self.CLUSTER_IP).observe_processing(
50-
pretty_response)
51-
Observer(test_dataset_name, self.CLUSTER_IP).observe_processing(
52-
pretty_response)
49+
5350
request_body_content = {
5451
self.TRAIN_NAME: train_dataset_name,
5552
self.TEST_NAME: test_dataset_name,
@@ -58,9 +55,12 @@ def run_builder_sync(self, train_dataset_name, test_dataset_name,
5855
}
5956
response = requests.post(url=self.cluster_url,
6057
json=request_body_content)
61-
for i in model_classifier:
62-
Observer(test_dataset_name+i, self.CLUSTER_IP).observe_processing(
63-
pretty_response)
58+
59+
observer = Observer(test_dataset_name, self.CLUSTER_IP)
60+
61+
for model in model_classifier:
62+
observer.set_dataset_name(test_dataset_name+model)
63+
observer.observe_processing(pretty_response)
6464

6565
return self.response_treat.treatment(response, pretty_response)
6666

@@ -94,10 +94,7 @@ def run_builder_async(self, train_dataset_name, test_dataset_name,
9494
+ test_dataset_name
9595
+ " ----------"
9696
)
97-
Observer(train_dataset_name, self.CLUSTER_IP).observe_processing(
98-
pretty_response)
99-
Observer(test_dataset_name, self.CLUSTER_IP).observe_processing(
100-
pretty_response)
97+
10198
request_body_content = {
10299
self.TRAIN_NAME: train_dataset_name,
103100
self.TEST_NAME: test_dataset_name,
@@ -119,8 +116,11 @@ def search_all_model(self, pretty_response=False):
119116
return: A list with all model predictions metadata stored in Learning
120117
Orchestra or an empty result.
121118
"""
119+
122120
cluster_url_tsne = self.cluster_url
121+
123122
response = requests.get(cluster_url_tsne)
123+
124124
return self.response_treat.treatment(response, pretty_response)
125125

126126
def search_model_prediction(self, model_name, query={}, limit=10, skip=0,
@@ -140,11 +140,14 @@ def search_model_prediction(self, model_name, query={}, limit=10, skip=0,
140140
is no such projection. The current page is also returned to be used in
141141
future content requests.
142142
"""
143+
143144
cluster_url_dataset = self.cluster_url + "/" + model_name + \
144145
"?query=" + str(query) + \
145146
"&limit=" + str(limit) + \
146147
"&skip=" + str(skip)
148+
147149
response = requests.get(cluster_url_dataset)
150+
148151
return self.response_treat.treatment(response, pretty_response)
149152

150153
def search_model(self, model_name, pretty_response=False):
@@ -163,6 +166,7 @@ def search_model(self, model_name, pretty_response=False):
163166
"""
164167
response = self.search_model_prediction(model_name, limit=1,
165168
pretty_response=pretty_response)
169+
166170
return response
167171

168172
def delete_model(self, model_name, pretty_response=False):
@@ -177,6 +181,9 @@ def delete_model(self, model_name, pretty_response=False):
177181
return: JSON object with an error message, a warning message or a
178182
correct delete message
179183
"""
184+
180185
cluster_url_dataset = self.cluster_url + "/" + model_name
186+
181187
response = requests.delete(cluster_url_dataset)
188+
182189
return self.response_treat.treatment(response, pretty_response)

learning_orchestra_client/dataset/dataset.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,14 @@ def insert_dataset_sync(self, dataset_name, url, pretty_response=False):
2929
return: A JSON object with an error or warning message or a URL
3030
indicating the correct operation.
3131
"""
32-
request_url = self.cluster_url
3332
request_body = {self.OUTPUT_NAME: dataset_name,
3433
self.URL: url}
34+
request_url = self.cluster_url
35+
3536
response = requests.post(url=request_url, json=request_body)
37+
3638
Observer(dataset_name, self.CLUSTER_IP).observe_processing()
39+
3740
if pretty_response:
3841
print("\n----------" + " CREATED FILE " + dataset_name + " -------"
3942
"---")
@@ -55,10 +58,12 @@ def insert_dataset_async(self, dataset_name, url, pretty_response=False):
5558
indicating the correct operation (the caller must use such an URL to
5659
proceed future checks to verify if the dataset is inserted).
5760
"""
58-
request_url = self.cluster_url
5961
request_body = {self.OUTPUT_NAME: dataset_name,
6062
self.URL: url}
63+
request_url = self.cluster_url
64+
6165
response = requests.post(url=request_url, json=request_body)
66+
6267
if pretty_response:
6368
print("\n----------" + " CREATED FILE " + dataset_name + " -------"
6469
"---")
@@ -75,7 +80,9 @@ def search_all_datasets(self, pretty_response=False):
7580
result.
7681
"""
7782
request_url = self.cluster_url
83+
7884
response = requests.get(request_url)
85+
7986
return self.response_treat.treatment(response, pretty_response)
8087

8188
def search_dataset(self, dataset_name, pretty_response=False):
@@ -94,6 +101,7 @@ def search_dataset(self, dataset_name, pretty_response=False):
94101
"""
95102
response = self.search_dataset_content(dataset_name, limit=1,
96103
pretty_response=pretty_response)
104+
97105
return response
98106

99107
def search_dataset_content(self, dataset_name, query={}, limit=10, skip=0,
@@ -118,7 +126,9 @@ def search_dataset_content(self, dataset_name, query={}, limit=10, skip=0,
118126
"?query=" + str(query) + \
119127
"&limit=" + str(limit) + \
120128
"&skip=" + str(skip)
129+
121130
response = requests.get(request_url)
131+
122132
return self.response_treat.treatment(response, pretty_response)
123133

124134
def delete_dataset(self, dataset_name, pretty_response=False):
@@ -135,6 +145,9 @@ def delete_dataset(self, dataset_name, pretty_response=False):
135145
return: JSON object with an error message, a warning message or a
136146
correct delete message
137147
"""
148+
138149
request_url = self.cluster_url + "/" + dataset_name
150+
139151
response = requests.delete(request_url)
152+
140153
return self.response_treat.treatment(response, pretty_response)

learning_orchestra_client/explore/histogram.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,19 @@ def run_histogram_sync(self, dataset_name, histogram_name, fields,
3030
return: A JSON object with error or warning messages. In case of
3131
success, it returns a histogram.
3232
"""
33+
3334
request_body = {
3435
self.INPUT_NAME: dataset_name,
3536
self.OUTPUT_NAME: histogram_name,
3637
self.FIELDS: fields,
3738
}
38-
Observer(dataset_name, self.CLUSTER_IP).observe_processing(
39-
pretty_response)
4039
request_url = self.cluster_url
40+
4141
response = requests.post(url=request_url, json=request_body)
42+
4243
Observer(histogram_name, self.CLUSTER_IP).observe_processing(
4344
pretty_response)
45+
4446
if pretty_response:
4547
print(
4648
"\n----------"
@@ -50,6 +52,7 @@ def run_histogram_sync(self, dataset_name, histogram_name, fields,
5052
+ histogram_name
5153
+ " ----------"
5254
)
55+
5356
return self.response_treat.treatment(response, pretty_response)
5457

5558
def run_histogram_async(self, dataset_name, histogram_name, fields,
@@ -69,15 +72,16 @@ def run_histogram_async(self, dataset_name, histogram_name, fields,
6972
return: A JSON object with error or warning messages. In case of
7073
success, it returns a histogram.
7174
"""
75+
7276
request_body = {
7377
self.INPUT_NAME: dataset_name,
7478
self.OUTPUT_NAME: histogram_name,
7579
self.FIELDS: fields,
7680
}
77-
Observer(dataset_name, self.CLUSTER_IP).observe_processing(
78-
pretty_response)
7981
request_url = self.cluster_url
82+
8083
response = requests.post(url=request_url, json=request_body)
84+
8185
if pretty_response:
8286
print(
8387
"\n----------"
@@ -87,6 +91,7 @@ def run_histogram_async(self, dataset_name, histogram_name, fields,
8791
+ histogram_name
8892
+ " ----------"
8993
)
94+
9095
return self.response_treat.treatment(response, pretty_response)
9196

9297
def search_all_histograms(self, pretty_response=False):
@@ -99,8 +104,11 @@ def search_all_histograms(self, pretty_response=False):
99104
return: A list with all histogram names stored in Learning Orchestra
100105
or an empty result.
101106
"""
107+
102108
cluster_url_histogram = self.cluster_url
109+
103110
response = requests.get(cluster_url_histogram)
111+
104112
return self.response_treat.treatment(response, pretty_response)
105113

106114
def search_histogram_data(self, histogram_name, query={}, limit=10, skip=0,
@@ -125,7 +133,9 @@ def search_histogram_data(self, histogram_name, query={}, limit=10, skip=0,
125133
"?query=" + str(query) + \
126134
"&limit=" + str(limit) + \
127135
"&skip=" + str(skip)
136+
128137
response = requests.get(cluster_url_histogram)
138+
129139
return self.response_treat.treatment(response, pretty_response)
130140

131141
def delete_histogram(self, histogram_name, pretty_response=False):
@@ -140,6 +150,9 @@ def delete_histogram(self, histogram_name, pretty_response=False):
140150
return: JSON object with an error message, a warning message or a
141151
correct delete message
142152
"""
153+
143154
cluster_url_histogram = self.cluster_url + "/" + histogram_name
155+
144156
response = requests.delete(cluster_url_histogram)
157+
145158
return self.response_treat.treatment(response, pretty_response)

learning_orchestra_client/explore/pca.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import time
2-
3-
import requests
4-
5-
from observer import Observer
61
from response_treat import ResponseTreat
72
from dataset.dataset import Dataset
83
from PIL import Image
4+
import requests
5+
import time
96

107

118
class Pca:
@@ -17,7 +14,7 @@ def __init__(self, ip_from_cluster):
1714
self.OUTPUT_NAME = "outputPlotName"
1815
self.LABEL = "label"
1916
self.dataset = Dataset(ip_from_cluster)
20-
self.WAIT_TIME = 3
17+
self.WAIT_TIME = 5
2118
self.CLUSTER_IP = ip_from_cluster
2219

2320
def run_pca_sync(self, dataset_name, pca_name, label,
@@ -42,11 +39,12 @@ def run_pca_sync(self, dataset_name, pca_name, label,
4239
self.OUTPUT_NAME: pca_name,
4340
self.LABEL: label,
4441
}
45-
Observer(dataset_name, self.CLUSTER_IP).observe_processing(
46-
pretty_response)
4742
request_url = self.cluster_url
43+
4844
response = requests.post(url=request_url, json=request_body)
45+
4946
self.verify_pca_exist(pca_name, pretty_response)
47+
5048
if pretty_response:
5149
print(
5250
"\n----------"
@@ -56,6 +54,7 @@ def run_pca_sync(self, dataset_name, pca_name, label,
5654
+ pca_name
5755
+ " ----------"
5856
)
57+
5958
return self.response_treat.treatment(response, pretty_response)
6059

6160
def run_pca_async(self, dataset_name, pca_name, label,
@@ -77,15 +76,16 @@ def run_pca_async(self, dataset_name, pca_name, label,
7776
return: A JSON object with error or warning messages. In case of
7877
success, it returns a PCA image plot.
7978
"""
79+
8080
request_body = {
8181
self.INPUT_NAME: dataset_name,
8282
self.OUTPUT_NAME: pca_name,
8383
self.LABEL: label,
8484
}
85-
Observer(dataset_name, self.CLUSTER_IP).observe_processing(
86-
pretty_response)
8785
request_url = self.cluster_url
86+
8887
response = requests.post(url=request_url, json=request_body)
88+
8989
if pretty_response:
9090
print(
9191
"\n----------"
@@ -95,6 +95,7 @@ def run_pca_async(self, dataset_name, pca_name, label,
9595
+ pca_name
9696
+ " ----------"
9797
)
98+
9899
return self.response_treat.treatment(response, pretty_response)
99100

100101
def search_all_pca(self, pretty_response=False):
@@ -107,8 +108,11 @@ def search_all_pca(self, pretty_response=False):
107108
return: A list with all PCAs plot names stored in Learning Orchestra
108109
or an empty result.
109110
"""
111+
110112
cluster_url_pca = self.cluster_url
113+
111114
response = requests.get(cluster_url_pca)
115+
112116
return self.response_treat.treatment(response, pretty_response)
113117

114118
def search_pca_plot(self, pca_name, pretty_response=False):
@@ -121,7 +125,9 @@ def search_pca_plot(self, pca_name, pretty_response=False):
121125
122126
return: A link to an image plot or open an image plot.
123127
"""
128+
124129
cluster_url_pca = self.cluster_url + "/" + pca_name
130+
125131
if pretty_response:
126132
print(
127133
"\n----------"
@@ -147,8 +153,11 @@ def delete_pca_plot(self, pca_name, pretty_response=False):
147153
return: JSON object with an error message, a warning message or a
148154
correct delete message.
149155
"""
156+
150157
cluster_url_pca = self.cluster_url + "/" + pca_name
158+
151159
response = requests.delete(cluster_url_pca)
160+
152161
return self.response_treat.treatment(response, pretty_response)
153162

154163
def verify_pca_exist(self, pca_name, pretty_response=False):
@@ -160,11 +169,14 @@ def verify_pca_exist(self, pca_name, pretty_response=False):
160169
161170
return: True if the PCA requested exist, false if does not.
162171
"""
172+
163173
if pretty_response:
164174
print("\n---------- CHECKING IF " + pca_name + " FINISHED "
165175
"----------")
176+
166177
exist = False
167178
pca_name += ".png"
179+
168180
while not exist:
169181
time.sleep(self.WAIT_TIME)
170182
all_pca = self.search_all_pca()

0 commit comments

Comments
 (0)