44import  time 
55import  zipfile 
66from  collections .abc  import  Callable 
7- from  typing  import  Any 
87from  concurrent .futures  import  ThreadPoolExecutor 
98
109# Third party imports 
@@ -112,7 +111,7 @@ def validate_request(request: flask.Request, schema: dict[str, str]) -> None:
112111
113112
114113def  set_interval (
115-     function : Callable [[Any ], None ], seconds : float , args : Any 
114+     function : Callable [[flask . Flask ], None ], seconds : float , args : flask . Flask 
116115) ->  threading .Timer :
117116    def  function_wrapper () ->  None :
118117        set_interval (function , seconds , args )
@@ -129,7 +128,7 @@ def extension_from_filename(filename: str) -> str:
129128
130129
131130def  send_file (
132-     upload_folder : str , saved_files : str , new_file_name : str 
131+     upload_folder : str , saved_files : list [ str ] , new_file_name : str 
133132) ->  flask .Response :
134133    if  len (saved_files ) ==  1 :
135134        mimetype  =  "application/octet-binary" 
@@ -177,20 +176,10 @@ def create_data_folder_from_id(data_id: str) -> str:
177176
178177def  save_all_viewables_and_return_info (
179178    geode_object : str ,
180-     data : Any ,
181-     input_file : str  |  None  =  None ,
182-     additional_files : list [str ] |  None  =  None ,
183- ) ->  dict [str , Any ]:
184-     if  additional_files  is  None :
185-         additional_files  =  []
186- 
187-     data_entry  =  Data .create (
188-         geode_object = geode_object ,
189-         viewer_object = geode_functions .get_object_type (geode_object ),
190-         input_file = input_file ,
191-         additional_files = additional_files ,
192-     )
193-     data_path  =  create_data_folder_from_id (data_entry .id )
179+     data : object ,
180+     data_entry : Data ,
181+     data_path : str ,
182+ ) ->  dict [str , str  |  list [str ]]:
194183    with  ThreadPoolExecutor () as  executor :
195184        native_future  =  executor .submit (
196185            geode_functions .save ,
@@ -231,23 +220,28 @@ def save_all_viewables_and_return_info(
231220
232221
233222def  generate_native_viewable_and_light_viewable_from_object (
234-     geode_object : str , data : Any 
235- ) ->  dict [str , Any ]:
236-     return  save_all_viewables_and_return_info (geode_object , data , input_file = "" )
223+     geode_object : str , data : object 
224+ ) ->  dict [str , str  |  list [str ]]:
225+     data_entry  =  Data .create (
226+         geode_object = geode_object ,
227+         input_file = "" ,
228+         additional_files = [],
229+     )
230+     data_path  =  create_data_folder_from_id (data_entry .id )
231+     return  save_all_viewables_and_return_info (geode_object , data , data_entry , data_path )
237232
238233
239234def  generate_native_viewable_and_light_viewable_from_file (
240235    geode_object : str , input_filename : str 
241- ) ->  dict [str , Any ]:
242- 
243-     temp_data_entry  =  Data .create (
236+ ) ->  dict [str , str  |  list [str ]]:
237+     data_entry  =  Data .create (
244238        geode_object = geode_object ,
245239        viewer_object = geode_functions .get_object_type (geode_object ),
246240        input_file = input_filename ,
247241        additional_files = [],
248242    )
249243
250-     data_path  =  create_data_folder_from_id (temp_data_entry .id )
244+     data_path  =  create_data_folder_from_id (data_entry .id )
251245
252246    full_input_filename  =  geode_functions .upload_file_path (input_filename )
253247    copied_full_path  =  os .path .join (
@@ -272,9 +266,10 @@ def generate_native_viewable_and_light_viewable_from_file(
272266
273267    data  =  geode_functions .load (geode_object , copied_full_path )
274268
269+     data_entry .additional_files  =  additional_files_copied 
275270    return  save_all_viewables_and_return_info (
276271        geode_object ,
277272        data ,
278-         input_file = input_filename ,
279-         additional_files = additional_files_copied ,
273+         data_entry ,
274+         data_path ,
280275    )
0 commit comments