@@ -145,67 +145,33 @@ def handle_exception(e):
145145
146146
147147def generate_native_viewable_and_light_viewable_from_object (geode_object , data ):
148- generated_id = str (uuid .uuid4 ()).replace ("-" , "" )
149- DATA_FOLDER_PATH = flask .current_app .config ["DATA_FOLDER_PATH" ]
150- data_path = os .path .join (DATA_FOLDER_PATH , generated_id )
151- name = data .name ()
152- object_type = geode_functions .get_object_type (geode_object )
148+ return generate_native_viewable_and_light_viewable (geode_object , data )
153149
154- additional_files_copied = []
155150
156- saved_native_file_path = geode_functions .save (
157- geode_object ,
158- data ,
159- data_path ,
160- "native." + data .native_extension (),
161- )
162- saved_viewable_file_path = geode_functions .save_viewable (
163- geode_object , data , data_path , "viewable"
164- )
165- viewable_file_name = os .path .basename (saved_viewable_file_path )
166- saved_light_viewable_file_path = geode_functions .save_light_viewable (
167- geode_object , data , data_path , "light_viewable"
168- )
169- with open (saved_light_viewable_file_path , "rb" ) as f :
170- binary_light_viewable = f .read ()
171-
172- result = {
173- "name" : name ,
174- "native_file_name" : os .path .basename (saved_native_file_path [0 ]),
175- "viewable_file_name" : viewable_file_name ,
176- "id" : generated_id ,
177- "object_type" : object_type ,
178- "binary_light_viewable" : binary_light_viewable .decode ("utf-8" ),
179- "geode_object" : geode_object ,
180- "input_files" : additional_files_copied ,
181- }
182- return result
151+ def generate_native_viewable_and_light_viewable_from_file (geode_object , input_filename ):
152+ data = geode_functions .load (geode_object , input_filename )
153+ return generate_native_viewable_and_light_viewable (geode_object , data , input_filename )
183154
184155
185- def generate_native_viewable_and_light_viewable_from_file (geode_object , input_filename ):
156+ def generate_native_viewable_and_light_viewable (geode_object , data , input_filename = None ):
186157 generated_id = str (uuid .uuid4 ()).replace ("-" , "" )
187158 DATA_FOLDER_PATH = flask .current_app .config ["DATA_FOLDER_PATH" ]
188159 data_path = os .path .join (DATA_FOLDER_PATH , generated_id )
189160 os .makedirs (data_path , exist_ok = True )
190161
191- data = geode_functions .load (geode_object , input_filename )
192- name = data .name ()
193- object_type = geode_functions .get_object_type (geode_object )
194-
195162 additional_files_copied = []
196- additional = geode_functions .additional_files (geode_object , input_filename )
197- for additional_file in additional .mandatory_files + additional .optional_files :
198- if additional_file .is_missing :
199- continue
200- source_path = os .path .join (
201- os .path .dirname (input_filename ), additional_file .filename
202- )
203- if not os .path .exists (source_path ):
204- continue
205- dest_path = os .path .join (data_path , additional_file .filename )
206- os .makedirs (os .path .dirname (dest_path ), exist_ok = True )
207- shutil .copy2 (source_path , dest_path )
208- additional_files_copied .append (additional_file .filename )
163+ if input_filename :
164+ additional = geode_functions .additional_files (geode_object , input_filename )
165+ for additional_file in additional .mandatory_files + additional .optional_files :
166+ if additional_file .is_missing :
167+ continue
168+ source_path = os .path .join (os .path .dirname (input_filename ), additional_file .filename )
169+ if not os .path .exists (source_path ):
170+ continue
171+ dest_path = os .path .join (data_path , additional_file .filename )
172+ os .makedirs (os .path .dirname (dest_path ), exist_ok = True )
173+ shutil .copy2 (source_path , dest_path )
174+ additional_files_copied .append (additional_file .filename )
209175
210176 saved_native_file_path = geode_functions .save (
211177 geode_object ,
@@ -224,65 +190,12 @@ def generate_native_viewable_and_light_viewable_from_file(geode_object, input_fi
224190 binary_light_viewable = f .read ()
225191
226192 return {
227- "name" : name ,
193+ "name" : data . name () ,
228194 "native_file_name" : os .path .basename (saved_native_file_path [0 ]),
229195 "viewable_file_name" : viewable_file_name ,
230196 "id" : generated_id ,
231- "object_type" : object_type ,
197+ "object_type" : geode_functions . get_object_type ( geode_object ) ,
232198 "binary_light_viewable" : binary_light_viewable .decode ("utf-8" ),
233199 "geode_object" : geode_object ,
234200 "input_files" : additional_files_copied ,
235201 }
236-
237-
238- # def generate_native_viewable_and_light_viewable(
239- # geode_object, data, input_filename
240- # ):
241- # generated_id = str(uuid.uuid4()).replace("-", "")
242- # DATA_FOLDER_PATH = flask.current_app.config["DATA_FOLDER_PATH"]
243- # data_path = os.path.join(DATA_FOLDER_PATH, generated_id)
244- # name = data.name()
245- # object_type = geode_functions.get_object_type(geode_object)
246-
247- # additional_files_copied = []
248- # additional = geode_functions.additional_files(geode_object, input_filename)
249- # for additional_file in additional.mandatory_files + additional.optional_files:
250- # if additional_file.is_missing:
251- # continue
252- # source_path = os.path.join(
253- # os.path.dirname(input_filename), additional_file.filename
254- # )
255- # if not os.path.exists(source_path):
256- # continue
257- # dest_path = os.path.join(data_path, additional_file.filename)
258- # os.makedirs(os.path.dirname(dest_path), exist_ok=True)
259- # shutil.copy2(source_path, dest_path)
260- # additional_files_copied.append(additional_file.filename)
261-
262- # saved_native_file_path = geode_functions.save(
263- # geode_object,
264- # data,
265- # data_path,
266- # "native." + data.native_extension(),
267- # )
268- # saved_viewable_file_path = geode_functions.save_viewable(
269- # geode_object, data, data_path, "viewable"
270- # )
271- # viewable_file_name = os.path.basename(saved_viewable_file_path)
272- # saved_light_viewable_file_path = geode_functions.save_light_viewable(
273- # geode_object, data, data_path, "light_viewable"
274- # )
275- # with open(saved_light_viewable_file_path, "rb") as f:
276- # binary_light_viewable = f.read()
277-
278- # result = {
279- # "name": name,
280- # "native_file_name": os.path.basename(saved_native_file_path[0]),
281- # "viewable_file_name": viewable_file_name,
282- # "id": generated_id,
283- # "object_type": object_type,
284- # "binary_light_viewable": binary_light_viewable.decode("utf-8"),
285- # "geode_object": geode_object,
286- # "input_files": additional_files_copied
287- # }
288- # return result
0 commit comments