@@ -241,61 +241,16 @@ def geode_objects_and_output_extensions():
241241 methods = save_viewable_file_json ["methods" ],
242242)
243243def save_viewable_file ():
244+ utils_functions .validate_request (flask .request , save_viewable_file_json )
244245 UPLOAD_FOLDER = flask .current_app .config ["UPLOAD_FOLDER" ]
245246 DATA_FOLDER_PATH = flask .current_app .config ["DATA_FOLDER_PATH" ]
246- utils_functions .validate_request (flask .request , save_viewable_file_json )
247-
248247 secure_filename = werkzeug .utils .secure_filename (flask .request .json ["filename" ])
249248 file_path = os .path .abspath (os .path .join (UPLOAD_FOLDER , secure_filename ))
250249 data = geode_functions .load (flask .request .json ["input_geode_object" ], file_path )
251- generated_id = str (uuid .uuid4 ()).replace ("-" , "" )
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
298252 )
253+ return flask .jsonify (response_data ), 200
299254
300255
301256with open (os .path .join (schemas , "create_point.json" ), "r" ) as file :
@@ -315,29 +270,10 @@ def create_point():
315270 builder = geode_functions .create_builder ("PointSet3D" , PointSet3D )
316271 builder .create_point (opengeode .Point3D ([x , y , z ]))
317272 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-
331273 return flask .make_response (
332- {
333- "viewable_file_name" : os .path .basename (saved_viewable_file_path ),
334- "id" : generated_id ,
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+ ),
341277 200 ,
342278 )
343279
0 commit comments