1616from .geode_objects import objects_list
1717
1818
19- def list_all_input_extensions (crs = False ):
19+ def list_input_extensions (
20+ keys : list = [],
21+ geode_object : str = "" ,
22+ ):
2023 """
2124 Purpose:
2225 Function that returns a list of all input extensions
2326 Args:
24- crs -- Tells the function if we want the geode_objects that have a crs
27+ keys -- Tells the function if we want the geode_objects that have a crs
28+ geode_object -- The name of the geode_object
2529 Returns:
2630 An ordered list of input file extensions
2731 """
28- List = []
32+ extensions_list = []
2933 geode_object_dict = objects_list ()
3034
3135 for geode_object in geode_object_dict .values ():
36+ if keys :
37+ for key in keys :
38+ if key in geode_object :
39+ if type (geode_object [key ]) == bool and geode_object [key ] == True :
40+ continue
41+ else :
42+ continue
43+ else :
44+ continue
45+
3246 values = geode_object ["input" ]
3347
34- # if crs == True:
35- # if "crs" not in geode_object:
36- # continue
3748 for value in values :
3849 list_creators = value .list_creators ()
3950 for creator in list_creators :
40- if creator not in List :
41- List .append (creator )
42- List .sort ()
43- return List
51+ if creator not in extensions_list :
52+ extensions_list .append (creator )
53+ extensions_list .sort ()
54+ return extensions_list
4455
4556
4657def list_objects (extension : str , is_viewable : bool = True ):
@@ -177,18 +188,41 @@ def load(geode_object, file_absolute_path):
177188 return objects_list ()[geode_object ]["load" ](file_absolute_path )
178189
179190
180- def save (data , geode_object , folder_absolute_path , filename ):
191+ def save (geode_object , data , folder_absolute_path , filename ):
181192 objects_list ()[geode_object ]["save" ](
182193 data , os .path .join (folder_absolute_path , filename )
183194 )
184195
185196
186- def save_viewable (data , geode_object , folder_absolute_path , id ):
197+ def save_viewable (geode_object , data , folder_absolute_path , id ):
187198 objects_list ()[geode_object ]["save_viewable" ](
188199 data , os .path .join (folder_absolute_path , id )
189200 )
190201
191202
203+ def assign_crs (geode_object , data , crs_name , info ):
204+ builder = get_builder (geode_object , data )
205+ objects_list ()[geode_object ]["crs" ]["assign" ](data , builder , crs_name , info )
206+
207+
208+ def convert_crs (geode_object , data , crs_name , info ):
209+ builder = get_builder (geode_object , data )
210+ objects_list ()[geode_object ]["crs" ]["convert" ](data , builder , crs_name , info )
211+
212+
213+ def create_crs (
214+ geode_object , data , name , input_coordiante_system , output_coordiante_system
215+ ):
216+ builder = get_builder (geode_object , data )
217+ objects_list ()[geode_object ]["crs" ]["create" ](
218+ data , builder , name , input_coordiante_system , output_coordiante_system
219+ )
220+
221+
222+ def get_extension_from_filename (filename ):
223+ return os .path .splitext (filename )[1 ][1 :]
224+
225+
192226def get_form_variables (form , variables_array ):
193227 variables_dict = {}
194228
@@ -243,19 +277,13 @@ def get_coordinate_system(geode_object, coordinate_system):
243277
244278
245279def assign_geographic_coordinate_system_info (geode_object , data , input_crs ):
246- builder = get_builder (geode_object , data )
247280 info = get_geographic_coordinate_systems_info (geode_object , input_crs )
248- objects_list ()[geode_object ]["crs" ]["assign" ](
249- data , builder , input_crs ["name" ], info
250- )
281+ assign_crs (geode_object , data , input_crs ["name" ], info )
251282
252283
253284def convert_geographic_coordinate_system_info (geode_object , data , output_crs ):
254- builder = get_builder (geode_object , data )
255285 info = get_geographic_coordinate_systems_info (geode_object , output_crs )
256- objects_list ()[geode_object ]["crs" ]["convert" ](
257- data , builder , output_crs ["name" ], info
258- )
286+ convert_crs (geode_object , data , output_crs ["name" ], info )
259287
260288
261289def create_coordinate_system (
@@ -269,6 +297,6 @@ def create_coordinate_system(
269297 output_coordiante_system = get_coordinate_system (
270298 geode_object , output_coordinate_points
271299 )
272- objects_list ()[ geode_object ][ "crs" ][ "create" ] (
273- data , builder , name , input_coordiante_system , output_coordiante_system
300+ create_crs (
301+ geode_object , data , name , input_coordiante_system , output_coordiante_system
274302 )
0 commit comments