1313import werkzeug
1414
1515# Local application imports
16- from .geode_objects import objects_list
16+ from .geode_objects import geode_objects_dict
1717
1818
19- def get_input_factory (geode_object : str ):
20- return objects_list ()[geode_object ][ "input_factory" ]
19+ def geode_object_value (geode_object : str ):
20+ return geode_objects_dict ()[geode_object ]
2121
2222
23- def get_output_factory (geode_object : str ):
24- return objects_list ()[geode_object ]["output_factory" ]
23+ def input_factory (geode_object : str ):
24+ return geode_object_value (geode_object )["input_factory" ]
25+
26+
27+ def output_factory (geode_object : str ):
28+ return geode_object_value (geode_object )["output_factory" ]
2529
2630
2731def missing_files (geode_object : str , file_absolute_path : str ):
28- return objects_list ()[ geode_object ] ["missing_files" ](file_absolute_path )
32+ return geode_object_value ( geode_object ) ["missing_files" ](file_absolute_path )
2933
3034
3135def load (geode_object : str , file_absolute_path : str ):
32- return objects_list ()[ geode_object ] ["load" ](file_absolute_path )
36+ return geode_object_value ( geode_object ) ["load" ](file_absolute_path )
3337
3438
3539def save (geode_object : str , data , folder_absolute_path : str , filename : str ):
36- return objects_list ()[ geode_object ] ["save" ](
40+ return geode_object_value ( geode_object ) ["save" ](
3741 data , os .path .join (folder_absolute_path , filename )
3842 )
3943
4044
4145def create_builder (geode_object : str , data ):
42- return objects_list ()[ geode_object ] ["builder" ](data )
46+ return geode_object_value ( geode_object ) ["builder" ](data )
4347
4448
4549def assign_crs (geode_object : str , data , crs_name : str , info ):
4650 builder = create_builder (geode_object , data )
47- objects_list ()[ geode_object ] ["crs" ]["assign" ](data , builder , crs_name , info )
51+ geode_object_value ( geode_object ) ["crs" ]["assign" ](data , builder , crs_name , info )
4852
4953
5054def convert_crs (geode_object : str , data , crs_name : str , info ):
5155 builder = create_builder (geode_object , data )
52- objects_list ()[ geode_object ] ["crs" ]["convert" ](data , builder , crs_name , info )
56+ geode_object_value ( geode_object ) ["crs" ]["convert" ](data , builder , crs_name , info )
5357
5458
5559def create_crs (
@@ -60,87 +64,70 @@ def create_crs(
6064 output_coordiante_system ,
6165):
6266 builder = create_builder (geode_object , data )
63- objects_list ()[ geode_object ] ["crs" ]["create" ](
67+ geode_object_value ( geode_object ) ["crs" ]["create" ](
6468 data , builder , name , input_coordiante_system , output_coordiante_system
6569 )
6670
6771
6872def is_model (geode_object : str ):
69- return objects_list ()[ geode_object ] ["is_model" ]
73+ return geode_object_value ( geode_object ) ["is_model" ]
7074
7175
7276def is_3D (geode_object : str ):
73- return objects_list ()[ geode_object ] ["is_3D" ]
77+ return geode_object_value ( geode_object ) ["is_3D" ]
7478
7579
7680def is_viewable (geode_object : str ):
77- return objects_list ()[ geode_object ] ["is_viewable" ]
81+ return geode_object_value ( geode_object ) ["is_viewable" ]
7882
7983
80- def get_inspector (geode_object : str , data ):
81- return objects_list ()[ geode_object ] ["inspector" ](data )
84+ def inspector (geode_object : str , data ):
85+ return geode_object_value ( geode_object ) ["inspector" ](data )
8286
8387
8488def save_viewable (geode_object : str , data , folder_absolute_path : str , id : str ):
85- return objects_list ()[ geode_object ] ["save_viewable" ](
89+ return geode_object_value ( geode_object ) ["save_viewable" ](
8690 data , os .path .join (folder_absolute_path , id )
8791 )
8892
8993
90- def get_geode_object_input_extensions (geode_object : str ):
91- inputs_list = []
92- geode_object_inputs = get_input_factory (geode_object )
93- for input in geode_object_inputs :
94- list_creators = input .list_creators ()
95- inputs_list = inputs_list + list_creators
96- inputs_list = list (set (inputs_list ))
97- inputs_list .sort ()
98- return inputs_list
99-
94+ def geode_object_input_extensions (geode_object : str ):
95+ geode_object_input_list_creators = input_factory (geode_object ).list_creators ()
96+ geode_object_input_list_creators .sort ()
97+ return geode_object_input_list_creators
10098
101- def get_geode_object_output_extensions (geode_object : str ):
102- output_list = []
103- geode_object_outputs = get_output_factory (geode_object )
10499
105- for output in geode_object_outputs :
106- list_creators = output .list_creators ()
107- output_list = output_list + list_creators
108- output_list = list (set (output_list ))
109- output_list .sort ()
110- return output_list
100+ def geode_object_output_extensions (geode_object : str ):
101+ geode_object_output_list_creators = output_factory (geode_object ).list_creators ()
102+ geode_object_output_list_creators .sort ()
103+ return geode_object_output_list_creators
111104
112105
113106def list_input_extensions (key : str = None ):
114107 extensions_list = []
115- for geode_object , value in objects_list ().items ():
108+ for geode_object , value in geode_objects_dict ().items ():
116109 if key != None :
117110 if key in value :
118111 if type (value [key ]) == bool :
119112 if value [key ] == True :
120- extensions_list += get_geode_object_input_extensions (
121- geode_object
122- )
113+ extensions_list += geode_object_input_extensions (geode_object )
123114 else :
124- extensions_list += get_geode_object_input_extensions (geode_object )
115+ extensions_list += geode_object_input_extensions (geode_object )
125116 else :
126- extensions_list += get_geode_object_input_extensions (geode_object )
117+ extensions_list += geode_object_input_extensions (geode_object )
127118
128119 extensions_list = list (set (extensions_list ))
129120 extensions_list .sort ()
130121 return extensions_list
131122
132123
133124def has_creator (geode_object : str , extension : str ):
134- geode_object_input_factory = get_input_factory (geode_object )
135- for input in geode_object_input_factory :
136- if input .has_creator (extension ):
137- return True
138- return False
125+ return input_factory (geode_object ).has_creator (extension )
139126
140127
141128def list_geode_objects (extension : str , key : str = None ):
142129 geode_objects_list = []
143- for geode_object , value in objects_list ().items ():
130+ for geode_object , value in geode_objects_dict ().items ():
144131 if key != None :
145132 if key in value :
146133 if type (value [key ]) == bool :
@@ -157,7 +144,24 @@ def list_geode_objects(extension: str, key: str = None):
157144 return geode_objects_list
158145
159146
160- def get_versions (list_packages : list ):
147+ def geode_objects_output_extensions (geode_object : str ):
148+ return_list = []
149+ geode_object_dict = {}
150+ geode_object_dict ["geode_object" ] = geode_object
151+ geode_object_dict ["output_extensions" ] = geode_object_output_extensions (
152+ geode_object
153+ )
154+
155+ return_list .append (geode_object_dict )
156+
157+ if "parent" in geode_object_value (geode_object ).keys ():
158+ parent_key = geode_object_value (geode_object )["parent" ]
159+ return_list += geode_objects_output_extensions (parent_key )
160+
161+ return return_list
162+
163+
164+ def versions (list_packages : list ):
161165 list_with_versions = []
162166 for package in list_packages :
163167 list_with_versions .append (
@@ -226,11 +230,11 @@ def func_wrapper():
226230 return t
227231
228232
229- def get_extension_from_filename (filename ):
233+ def extension_from_filename (filename ):
230234 return os .path .splitext (filename )[1 ][1 :]
231235
232236
233- def get_form_variables (form , variables_array ):
237+ def form_variables (form , variables_array ):
234238 variables_dict = {}
235239 for variable in variables_array :
236240 if form .get (variable ) is None :
@@ -240,14 +244,14 @@ def get_form_variables(form, variables_array):
240244 return variables_dict
241245
242246
243- def get_geographic_coordinate_systems (geode_object : str ):
247+ def geographic_coordinate_systems (geode_object : str ):
244248 if is_3D (geode_object ):
245249 return og_gs .GeographicCoordinateSystem3D .geographic_coordinate_systems ()
246250 else :
247251 return og_gs .GeographicCoordinateSystem2D .geographic_coordinate_systems ()
248252
249253
250- def get_geographic_coordinate_systems_info (geode_object : str , crs ):
254+ def geographic_coordinate_systems_info (geode_object : str , crs ):
251255 if is_3D (geode_object ):
252256 return og_gs .GeographicCoordinateSystemInfo3D (
253257 crs ["authority" ], crs ["code" ], crs ["name" ]
@@ -258,7 +262,7 @@ def get_geographic_coordinate_systems_info(geode_object: str, crs):
258262 )
259263
260264
261- def get_coordinate_system (geode_object : str , coordinate_system ):
265+ def coordinate_system (geode_object : str , coordinate_system ):
262266 return og .CoordinateSystem2D (
263267 [
264268 og .Vector2D (
@@ -283,24 +287,20 @@ def get_coordinate_system(geode_object: str, coordinate_system):
283287
284288
285289def assign_geographic_coordinate_system_info (geode_object : str , data , input_crs ):
286- info = get_geographic_coordinate_systems_info (geode_object , input_crs )
290+ info = geographic_coordinate_systems_info (geode_object , input_crs )
287291 assign_crs (geode_object , data , input_crs ["name" ], info )
288292
289293
290294def convert_geographic_coordinate_system_info (geode_object : str , data , output_crs ):
291- info = get_geographic_coordinate_systems_info (geode_object , output_crs )
295+ info = geographic_coordinate_systems_info (geode_object , output_crs )
292296 convert_crs (geode_object , data , output_crs ["name" ], info )
293297
294298
295299def create_coordinate_system (
296300 geode_object : str , data , name , input_coordinate_points , output_coordinate_points
297301):
298- input_coordiante_system = get_coordinate_system (
299- geode_object , input_coordinate_points
300- )
301- output_coordiante_system = get_coordinate_system (
302- geode_object , output_coordinate_points
303- )
302+ input_coordiante_system = coordinate_system (geode_object , input_coordinate_points )
303+ output_coordiante_system = coordinate_system (geode_object , output_coordinate_points )
304304 create_crs (
305305 geode_object , data , name , input_coordiante_system , output_coordiante_system
306306 )
0 commit comments