OpenGeodeWeb-Back 5.8.4rc1__py3-none-any.whl → 5.8.4rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- opengeodeweb_back/routes/blueprint_routes.py +7 -71
- opengeodeweb_back/utils_functions.py +48 -0
- {opengeodeweb_back-5.8.4rc1.dist-info → opengeodeweb_back-5.8.4rc2.dist-info}/METADATA +1 -1
- {opengeodeweb_back-5.8.4rc1.dist-info → opengeodeweb_back-5.8.4rc2.dist-info}/RECORD +7 -7
- {opengeodeweb_back-5.8.4rc1.dist-info → opengeodeweb_back-5.8.4rc2.dist-info}/WHEEL +0 -0
- {opengeodeweb_back-5.8.4rc1.dist-info → opengeodeweb_back-5.8.4rc2.dist-info}/licenses/LICENSE +0 -0
- {opengeodeweb_back-5.8.4rc1.dist-info → opengeodeweb_back-5.8.4rc2.dist-info}/top_level.txt +0 -0
@@ -241,61 +241,16 @@ with open(
|
|
241
241
|
methods=save_viewable_file_json["methods"],
|
242
242
|
)
|
243
243
|
def save_viewable_file():
|
244
|
+
utils_functions.validate_request(flask.request, save_viewable_file_json)
|
244
245
|
UPLOAD_FOLDER = flask.current_app.config["UPLOAD_FOLDER"]
|
245
246
|
DATA_FOLDER_PATH = flask.current_app.config["DATA_FOLDER_PATH"]
|
246
|
-
utils_functions.validate_request(flask.request, save_viewable_file_json)
|
247
|
-
|
248
247
|
secure_filename = werkzeug.utils.secure_filename(flask.request.json["filename"])
|
249
248
|
file_path = os.path.abspath(os.path.join(UPLOAD_FOLDER, secure_filename))
|
250
249
|
data = geode_functions.load(flask.request.json["input_geode_object"], file_path)
|
251
|
-
|
252
|
-
|
253
|
-
name = data.name()
|
254
|
-
native_extension = data.native_extension()
|
255
|
-
|
256
|
-
absolute_native_file_path = os.path.join(
|
257
|
-
UPLOAD_FOLDER, generated_id + "." + native_extension
|
258
|
-
)
|
259
|
-
|
260
|
-
saved_viewable_file_path = geode_functions.save_viewable(
|
261
|
-
flask.request.json["input_geode_object"], data, DATA_FOLDER_PATH, generated_id
|
262
|
-
)
|
263
|
-
|
264
|
-
saved_light_viewable_file_path = geode_functions.save_light_viewable(
|
265
|
-
flask.request.json["input_geode_object"],
|
266
|
-
data,
|
267
|
-
DATA_FOLDER_PATH,
|
268
|
-
"light_" + generated_id,
|
269
|
-
)
|
270
|
-
|
271
|
-
f = open(saved_light_viewable_file_path, "rb")
|
272
|
-
binary_light_viewable = f.read()
|
273
|
-
f.close()
|
274
|
-
|
275
|
-
geode_functions.save(
|
276
|
-
flask.request.json["input_geode_object"],
|
277
|
-
data,
|
278
|
-
DATA_FOLDER_PATH,
|
279
|
-
generated_id + "." + native_extension,
|
280
|
-
)
|
281
|
-
os.remove(os.path.join(UPLOAD_FOLDER, secure_filename))
|
282
|
-
object_type = geode_functions.get_object_type(
|
283
|
-
flask.request.json["input_geode_object"]
|
284
|
-
)
|
285
|
-
|
286
|
-
native_file_name = os.path.basename(absolute_native_file_path)
|
287
|
-
viewable_file_name = os.path.basename(saved_viewable_file_path)
|
288
|
-
return flask.make_response(
|
289
|
-
{
|
290
|
-
"name": name,
|
291
|
-
"native_file_name": native_file_name,
|
292
|
-
"viewable_file_name": viewable_file_name,
|
293
|
-
"id": generated_id,
|
294
|
-
"object_type": object_type,
|
295
|
-
"binary_light_viewable": str(binary_light_viewable, "utf-8"),
|
296
|
-
},
|
297
|
-
200,
|
250
|
+
response_data = utils_functions.create_response_with_binary_light_viewable(
|
251
|
+
flask.request.json["input_geode_object"], data, DATA_FOLDER_PATH
|
298
252
|
)
|
253
|
+
return flask.jsonify(response_data), 200
|
299
254
|
|
300
255
|
|
301
256
|
with open(os.path.join(schemas, "create_point.json"), "r") as file:
|
@@ -315,29 +270,10 @@ def create_point():
|
|
315
270
|
builder = geode_functions.create_builder("PointSet3D", PointSet3D)
|
316
271
|
builder.create_point(opengeode.Point3D([x, y, z]))
|
317
272
|
builder.set_name(title)
|
318
|
-
name = PointSet3D.name()
|
319
|
-
generated_id = str(uuid.uuid4()).replace("-", "")
|
320
|
-
object_type = geode_functions.get_object_type("PointSet3D")
|
321
|
-
saved_native_file_path = geode_functions.save(
|
322
|
-
"PointSet3D", PointSet3D, DATA_FOLDER_PATH, generated_id + ".og_pts3d"
|
323
|
-
)
|
324
|
-
saved_viewable_file_path = geode_functions.save_viewable(
|
325
|
-
"PointSet3D", PointSet3D, DATA_FOLDER_PATH, generated_id
|
326
|
-
)
|
327
|
-
|
328
|
-
native_file_name = os.path.basename(saved_native_file_path[0])
|
329
|
-
viewable_file_name = os.path.basename(saved_viewable_file_path)
|
330
|
-
|
331
273
|
return flask.make_response(
|
332
|
-
|
333
|
-
"
|
334
|
-
|
335
|
-
"name": name,
|
336
|
-
"native_file_name": native_file_name,
|
337
|
-
"viewable_file_name": viewable_file_name,
|
338
|
-
"object_type": object_type,
|
339
|
-
"geode_object": "PointSet3D",
|
340
|
-
},
|
274
|
+
utils_functions.create_response_with_binary_light_viewable(
|
275
|
+
"PointSet3D", PointSet3D, DATA_FOLDER_PATH
|
276
|
+
),
|
341
277
|
200,
|
342
278
|
)
|
343
279
|
|
@@ -2,6 +2,7 @@
|
|
2
2
|
import os
|
3
3
|
import threading
|
4
4
|
import time
|
5
|
+
import uuid
|
5
6
|
import zipfile
|
6
7
|
|
7
8
|
# Third party imports
|
@@ -10,6 +11,7 @@ import fastjsonschema
|
|
10
11
|
import importlib.metadata as metadata
|
11
12
|
|
12
13
|
# Local application imports
|
14
|
+
from . import geode_functions
|
13
15
|
|
14
16
|
|
15
17
|
def increment_request_counter(current_app):
|
@@ -139,3 +141,49 @@ def handle_exception(e):
|
|
139
141
|
)
|
140
142
|
response.content_type = "application/json"
|
141
143
|
return response
|
144
|
+
|
145
|
+
|
146
|
+
def save_native_viewable_binary_file_names(geode_object, data, folder_absolute_path):
|
147
|
+
generated_id = str(uuid.uuid4()).replace("-", "")
|
148
|
+
saved_native_file_path = geode_functions.save(
|
149
|
+
geode_object,
|
150
|
+
data,
|
151
|
+
folder_absolute_path,
|
152
|
+
generated_id + "." + data.native_extension(),
|
153
|
+
)
|
154
|
+
saved_viewable_file_path = geode_functions.save_viewable(
|
155
|
+
geode_object, data, folder_absolute_path, generated_id
|
156
|
+
)
|
157
|
+
saved_light_viewable_file_path = geode_functions.save_light_viewable(
|
158
|
+
geode_object, data, folder_absolute_path, "light_" + generated_id
|
159
|
+
)
|
160
|
+
f = open(saved_light_viewable_file_path, "rb")
|
161
|
+
binary_light_viewable = f.read()
|
162
|
+
f.close()
|
163
|
+
return {
|
164
|
+
"native_file_name": os.path.basename(saved_native_file_path[0]),
|
165
|
+
"viewable_file_name": os.path.basename(saved_viewable_file_path[0]),
|
166
|
+
"binary_light_viewable": str(binary_light_viewable, "utf-8"),
|
167
|
+
}
|
168
|
+
|
169
|
+
|
170
|
+
def create_response_with_binary_light_viewable(
|
171
|
+
geode_object, data, folder_absolute_path
|
172
|
+
):
|
173
|
+
generated_id = str(uuid.uuid4()).replace("-", "")
|
174
|
+
name = data.name()
|
175
|
+
object_type = geode_functions.get_object_type(geode_object)
|
176
|
+
|
177
|
+
native_file_name, viewable_file_name, binary_light_viewable = (
|
178
|
+
save_native_viewable_binary_file_names(geode_object, data, folder_absolute_path)
|
179
|
+
)
|
180
|
+
|
181
|
+
return {
|
182
|
+
"name": name,
|
183
|
+
"native_file_name": native_file_name,
|
184
|
+
"viewable_file_name": viewable_file_name,
|
185
|
+
"id": generated_id,
|
186
|
+
"object_type": object_type,
|
187
|
+
"binary_light_viewable": binary_light_viewable,
|
188
|
+
"geode_object": geode_object,
|
189
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: OpenGeodeWeb-Back
|
3
|
-
Version: 5.8.
|
3
|
+
Version: 5.8.4rc2
|
4
4
|
Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
|
5
5
|
Author-email: Geode-solutions <team-web@geode-solutions.com>
|
6
6
|
Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
|
@@ -3,8 +3,8 @@ opengeodeweb_back/app_config.py,sha256=gJfYxDJOa_PYLqjqgdXacp3W3F109uujE9LGPvzHO
|
|
3
3
|
opengeodeweb_back/geode_functions.py,sha256=EPAM6pw9QwZfoeZjOxycFTKUANw6pdeXr2q3vsnPxt8,9121
|
4
4
|
opengeodeweb_back/geode_objects.py,sha256=13A9FTGugiA9ClSeYkBiCu5QGzm93nm8YJQwiWB4nNw,25995
|
5
5
|
opengeodeweb_back/test_utils.py,sha256=18AbRW9-tfKkPcmRGilTTHXI7S3armYyV7Vdy5UvUKM,794
|
6
|
-
opengeodeweb_back/utils_functions.py,sha256=
|
7
|
-
opengeodeweb_back/routes/blueprint_routes.py,sha256=
|
6
|
+
opengeodeweb_back/utils_functions.py,sha256=fghIbadgRBCmjiHQ6h_Sh8_96cznt2FlqNcQEpfYyKE,5732
|
7
|
+
opengeodeweb_back/routes/blueprint_routes.py,sha256=o1G6gEeRcQUDPWy5OxBorFMB-bpwjuJr0yL4Ex_Lg24,12341
|
8
8
|
opengeodeweb_back/routes/models/blueprint_models.py,sha256=F5Rx1UpAII2oz75byx4UWvEWrrwY38xO5rsy6B9_AeM,2321
|
9
9
|
opengeodeweb_back/routes/models/schemas/mesh_components.json,sha256=3hgNqkxKDv691JGgjgMoqI_WgH2m7AtEFfjsOIqAz5Y,295
|
10
10
|
opengeodeweb_back/routes/models/schemas/vtm_component_indices.json,sha256=0km8gzawPj-eFodhaGzAgNZjAEOl4wLy24f_Bs3pBlw,217
|
@@ -22,8 +22,8 @@ opengeodeweb_back/routes/schemas/save_viewable_file.json,sha256=pvvEdaC7bNASPMrl
|
|
22
22
|
opengeodeweb_back/routes/schemas/texture_coordinates.json,sha256=m0EqxlvKojXVxK5Csucodu3rq1YMVJPwXJN_Wreb3qc,355
|
23
23
|
opengeodeweb_back/routes/schemas/upload_file.json,sha256=LJ3U3L5ApKuQDVFIpVT_y2alq4HW_suTvZ3HUucNbhg,219
|
24
24
|
opengeodeweb_back/routes/schemas/vertex_attribute_names.json,sha256=bya9KGtTmHFWjD-ur0_0UAY2yf3KkMeuNrk6E1UkjLM,358
|
25
|
-
opengeodeweb_back-5.8.
|
26
|
-
opengeodeweb_back-5.8.
|
27
|
-
opengeodeweb_back-5.8.
|
28
|
-
opengeodeweb_back-5.8.
|
29
|
-
opengeodeweb_back-5.8.
|
25
|
+
opengeodeweb_back-5.8.4rc2.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
|
26
|
+
opengeodeweb_back-5.8.4rc2.dist-info/METADATA,sha256=AvDrg_aRYZnCVsh58dzIxh_iEd-0PYvSGtxTcda7eJ4,3036
|
27
|
+
opengeodeweb_back-5.8.4rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
28
|
+
opengeodeweb_back-5.8.4rc2.dist-info/top_level.txt,sha256=tN1FZeLIVBrdja2-pbmhg5-tK-JILmmT9OeIBnhlUrQ,18
|
29
|
+
opengeodeweb_back-5.8.4rc2.dist-info/RECORD,,
|
File without changes
|
{opengeodeweb_back-5.8.4rc1.dist-info → opengeodeweb_back-5.8.4rc2.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
File without changes
|