Skip to content

Commit 9256be3

Browse files
resolve conflicts
1 parent cdd81db commit 9256be3

File tree

1 file changed

+0
-370
lines changed

1 file changed

+0
-370
lines changed
Lines changed: 0 additions & 370 deletions
Original file line numberDiff line numberDiff line change
@@ -1,370 +0,0 @@
1-
import requests
2-
import json
3-
import time
4-
5-
cluster_url = None
6-
7-
8-
class Context:
9-
def __init__(self, ip_from_cluster):
10-
global cluster_url
11-
cluster_url = "http://" + ip_from_cluster
12-
13-
14-
class AsyncronousWait:
15-
WAIT_TIME = 3
16-
METADATA_INDEX = 0
17-
18-
def wait(self, filename, pretty_response=True):
19-
if pretty_response:
20-
print("\n----------" + " WAITING " + filename + " FINISH " + "----------")
21-
22-
database_api = DatabaseApi()
23-
24-
while True:
25-
time.sleep(self.WAIT_TIME)
26-
response = database_api.read_file(filename, limit=1, pretty_response=False)
27-
28-
if len(response["result"]) == 0:
29-
continue
30-
31-
if response["result"][self.METADATA_INDEX]["finished"]:
32-
break
33-
34-
35-
class ResponseTreat:
36-
HTTP_CREATED = 201
37-
HTTP_SUCESS = 200
38-
HTTP_ERROR = 500
39-
40-
def treatment(self, response, pretty_response=True):
41-
if response.status_code >= self.HTTP_ERROR:
42-
return response.text
43-
elif (
44-
response.status_code != self.HTTP_SUCESS
45-
and response.status_code != self.HTTP_CREATED
46-
):
47-
raise Exception(response.json()["result"])
48-
else:
49-
if pretty_response:
50-
return json.dumps(response.json(), indent=2)
51-
else:
52-
return response.json()
53-
54-
55-
class DatabaseApi:
56-
DATABASE_API_PORT = "5000"
57-
58-
def __init__(self):
59-
global cluster_url
60-
self.url_base = cluster_url + ":" + self.DATABASE_API_PORT + "/files"
61-
self.asyncronous_wait = AsyncronousWait()
62-
63-
def read_resume_files(self, pretty_response=True):
64-
if pretty_response:
65-
print("\n----------" + " READ RESUME FILES " + "----------")
66-
67-
url = self.url_base
68-
response = requests.get(url)
69-
70-
return ResponseTreat().treatment(response, pretty_response)
71-
72-
def read_file(self, filename, skip=0, limit=10, query={}, pretty_response=True):
73-
if pretty_response:
74-
print("\n----------" + " READ FILE " + filename + " ----------")
75-
76-
request_params = {"skip": str(skip), "limit": str(limit), "query": str(query)}
77-
read_file_url = self.url_base + "/" + filename
78-
response = requests.get(url=read_file_url, params=request_params)
79-
80-
return ResponseTreat().treatment(response, pretty_response)
81-
82-
def create_file(self, filename, url, pretty_response=True):
83-
if pretty_response:
84-
print("\n----------" + " CREATE FILE " + filename + " ----------")
85-
86-
request_body_content = {"filename": filename, "url": url}
87-
88-
response = requests.post(url=self.url_base, json=request_body_content)
89-
90-
return ResponseTreat().treatment(response, pretty_response)
91-
92-
def delete_file(self, filename, pretty_response=True):
93-
if pretty_response:
94-
print("\n----------" + " DELETE FILE " + filename + " ----------")
95-
96-
self.asyncronous_wait.wait(filename, pretty_response)
97-
98-
request_url = self.url_base + "/" + filename
99-
response = requests.delete(url=request_url)
100-
101-
return ResponseTreat().treatment(response, pretty_response)
102-
103-
104-
class Projection:
105-
PROJECTION_PORT = "5001"
106-
107-
def __init__(self):
108-
global cluster_url
109-
self.url_base = cluster_url + ":" + self.PROJECTION_PORT + "/projections"
110-
111-
self.asyncronous_wait = AsyncronousWait()
112-
113-
def create_projection(
114-
self, filename, projection_filename, fields, pretty_response=True
115-
):
116-
if pretty_response:
117-
print(
118-
"\n----------"
119-
+ " CREATE PROJECTION FROM "
120-
+ filename
121-
+ " TO "
122-
+ projection_filename
123-
+ " ----------"
124-
)
125-
126-
self.asyncronous_wait.wait(filename, pretty_response)
127-
128-
request_body_content = {
129-
"projection_filename": projection_filename,
130-
"fields": fields,
131-
}
132-
request_url = self.url_base + "/" + filename
133-
response = requests.post(url=request_url, json=request_body_content)
134-
135-
return ResponseTreat().treatment(response, pretty_response)
136-
137-
138-
class Histogram:
139-
HISTOGRAM_PORT = "5004"
140-
141-
def __init__(self):
142-
global cluster_url
143-
self.url_base = cluster_url + ":" + self.HISTOGRAM_PORT + "/histograms"
144-
145-
self.asyncronous_wait = AsyncronousWait()
146-
147-
def create_histogram(
148-
self, filename, histogram_filename, fields, pretty_response=True
149-
):
150-
if pretty_response:
151-
print(
152-
"\n----------"
153-
+ " CREATE HISTOGRAM FROM "
154-
+ filename
155-
+ " TO "
156-
+ histogram_filename
157-
+ " ----------"
158-
)
159-
160-
self.asyncronous_wait.wait(filename, pretty_response)
161-
162-
request_body_content = {
163-
"histogram_filename": histogram_filename,
164-
"fields": fields,
165-
}
166-
request_url = self.url_base + "/" + filename
167-
response = requests.post(url=request_url, json=request_body_content)
168-
169-
return ResponseTreat().treatment(response, pretty_response)
170-
171-
172-
class Tsne:
173-
TSNE_PORT = "5005"
174-
175-
def __init__(self):
176-
global cluster_url
177-
self.url_base = cluster_url + ":" + self.TSNE_PORT + "/images"
178-
179-
self.asyncronous_wait = AsyncronousWait()
180-
181-
def create_image_plot(
182-
self, tsne_filename, parent_filename, label_name=None, pretty_response=True
183-
):
184-
if pretty_response:
185-
print(
186-
"\n----------"
187-
+ " CREATE t-SNE IMAGE PLOT FROM "
188-
+ parent_filename
189-
+ " TO "
190-
+ tsne_filename
191-
+ " ----------"
192-
)
193-
194-
self.asyncronous_wait.wait(parent_filename, pretty_response)
195-
196-
request_body_content = {
197-
"tsne_filename": tsne_filename,
198-
"label_name": label_name,
199-
}
200-
request_url = self.url_base + "/" + parent_filename
201-
response = requests.post(url=request_url, json=request_body_content)
202-
203-
return ResponseTreat().treatment(response, pretty_response)
204-
205-
def delete_image_plot(self, tsne_filename, pretty_response=True):
206-
if pretty_response:
207-
print(
208-
"\n----------"
209-
+ " DELETE "
210-
+ tsne_filename
211-
+ " t-SNE IMAGE PLOT "
212-
+ "----------"
213-
)
214-
215-
request_url = self.url_base + "/" + tsne_filename
216-
response = requests.delete(url=request_url)
217-
218-
return ResponseTreat().treatment(response, pretty_response)
219-
220-
def read_image_plot_filenames(self, pretty_response=True):
221-
if pretty_response:
222-
print("\n---------- READE IMAGE PLOT FILENAMES " + " ----------")
223-
224-
request_url = self.url_base
225-
response = requests.get(url=request_url)
226-
227-
return ResponseTreat().treatment(response, pretty_response)
228-
229-
def read_image_plot(self, tsne_filename, pretty_response=True):
230-
if pretty_response:
231-
print(
232-
"\n----------"
233-
+ " READ "
234-
+ tsne_filename
235-
+ " t-SNE IMAGE PLOT "
236-
+ "----------"
237-
)
238-
239-
request_url = self.url_base + "/" + tsne_filename
240-
return request_url
241-
242-
243-
class Pca:
244-
PCA_PORT = "5006"
245-
246-
def __init__(self):
247-
global cluster_url
248-
self.url_base = cluster_url + ":" + self.PCA_PORT + "/images"
249-
250-
self.asyncronous_wait = AsyncronousWait()
251-
252-
def create_image_plot(
253-
self, pca_filename, parent_filename, label_name=None, pretty_response=True
254-
):
255-
if pretty_response:
256-
print(
257-
"\n----------"
258-
+ " CREATE PCA IMAGE PLOT FROM "
259-
+ parent_filename
260-
+ " TO "
261-
+ pca_filename
262-
+ " ----------"
263-
)
264-
265-
self.asyncronous_wait.wait(parent_filename, pretty_response)
266-
267-
request_body_content = {"pca_filename": pca_filename, "label_name": label_name}
268-
request_url = self.url_base + "/" + parent_filename
269-
response = requests.post(url=request_url, json=request_body_content)
270-
271-
return ResponseTreat().treatment(response, pretty_response)
272-
273-
def delete_image_plot(self, pca_filename, pretty_response=True):
274-
if pretty_response:
275-
print(
276-
"\n----------"
277-
+ " DELETE "
278-
+ pca_filename
279-
+ " PCA IMAGE PLOT "
280-
+ "----------"
281-
)
282-
283-
request_url = self.url_base + "/" + pca_filename
284-
response = requests.delete(url=request_url)
285-
286-
return ResponseTreat().treatment(response, pretty_response)
287-
288-
def read_image_plot_filenames(self, pretty_response=True):
289-
if pretty_response:
290-
print("\n---------- READE IMAGE PLOT FILENAMES " + " ----------")
291-
292-
request_url = self.url_base
293-
response = requests.get(url=request_url)
294-
295-
return ResponseTreat().treatment(response, pretty_response)
296-
297-
def read_image_plot(self, pca_filename, pretty_response=True):
298-
if pretty_response:
299-
print(
300-
"\n----------"
301-
+ " READ "
302-
+ pca_filename
303-
+ " PCA IMAGE PLOT "
304-
+ "----------"
305-
)
306-
307-
request_url = self.url_base + "/" + pca_filename
308-
return request_url
309-
310-
311-
class DataTypeHandler:
312-
DATA_TYPE_HANDLER_PORT = "5003"
313-
314-
def __init__(self):
315-
global cluster_url
316-
self.url_base = cluster_url + ":" + self.DATA_TYPE_HANDLER_PORT + "/fieldtypes"
317-
self.asyncronous_wait = AsyncronousWait()
318-
319-
def change_file_type(self, filename, fields_dict, pretty_response=True):
320-
if pretty_response:
321-
print("\n----------" + " CHANGE " + filename + " FILE TYPE " + "----------")
322-
323-
self.asyncronous_wait.wait(filename, pretty_response)
324-
325-
url_request = self.url_base + "/" + filename
326-
327-
response = requests.patch(url=url_request, json=fields_dict)
328-
329-
return ResponseTreat().treatment(response, pretty_response)
330-
331-
332-
class Model:
333-
MODEL_BUILDER_PORT = "5002"
334-
335-
def __init__(self):
336-
global cluster_url
337-
self.url_base = cluster_url + ":" + self.MODEL_BUILDER_PORT + "/models"
338-
self.asyncronous_wait = AsyncronousWait()
339-
340-
def create_model(
341-
self,
342-
training_filename,
343-
test_filename,
344-
preprocessor_code,
345-
model_classificator,
346-
pretty_response=True,
347-
):
348-
if pretty_response:
349-
print(
350-
"\n----------"
351-
+ " CREATE MODEL WITH "
352-
+ training_filename
353-
+ " AND "
354-
+ test_filename
355-
+ " ----------"
356-
)
357-
358-
self.asyncronous_wait.wait(training_filename, pretty_response)
359-
self.asyncronous_wait.wait(test_filename, pretty_response)
360-
361-
request_body_content = {
362-
"training_filename": training_filename,
363-
"test_filename": test_filename,
364-
"preprocessor_code": preprocessor_code,
365-
"classificators_list": model_classificator,
366-
}
367-
368-
response = requests.post(url=self.url_base, json=request_body_content)
369-
370-
return ResponseTreat().treatment(response, pretty_response)

0 commit comments

Comments
 (0)