OpenGeodeWeb-Back 1.2.1rc3__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {OpenGeodeWeb-Back-1.2.1rc3/src/OpenGeodeWeb_Back.egg-info → OpenGeodeWeb-Back-1.3.0}/PKG-INFO +8 -8
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/pyproject.toml +1 -1
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/requirements.txt +9 -8
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +8 -8
- OpenGeodeWeb-Back-1.3.0/src/OpenGeodeWeb_Back.egg-info/requires.txt +7 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/geode_functions.py +87 -89
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/geode_objects.py +66 -49
- OpenGeodeWeb-Back-1.3.0/tests/test_functions.py +171 -0
- OpenGeodeWeb-Back-1.2.1rc3/src/OpenGeodeWeb_Back.egg-info/requires.txt +0 -7
- OpenGeodeWeb-Back-1.2.1rc3/tests/test_functions.py +0 -95
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/LICENSE +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/README.md +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/setup.cfg +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/__init__.py +0 -0
- {OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/inspector_functions.py +0 -0
{OpenGeodeWeb-Back-1.2.1rc3/src/OpenGeodeWeb_Back.egg-info → OpenGeodeWeb-Back-1.3.0}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OpenGeodeWeb-Back
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.3.0
|
4
4
|
Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
|
5
5
|
Author-email: Geode-solutions <team-web@geode-solutions.com>
|
6
6
|
Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
|
@@ -11,13 +11,13 @@ Classifier: Operating System :: OS Independent
|
|
11
11
|
Requires-Python: >=3.8
|
12
12
|
Description-Content-Type: text/markdown
|
13
13
|
License-File: LICENSE
|
14
|
-
Requires-Dist: geode-common==
|
15
|
-
Requires-Dist: geode-viewables==2.1.
|
16
|
-
Requires-Dist: opengeode-core==14.
|
17
|
-
Requires-Dist: opengeode-geosciences==7.2.
|
18
|
-
Requires-Dist: opengeode-geosciencesio==4.5.
|
19
|
-
Requires-Dist: opengeode-inspector==
|
20
|
-
Requires-Dist: opengeode-io==6.2.
|
14
|
+
Requires-Dist: geode-common==28.0.0
|
15
|
+
Requires-Dist: geode-viewables==2.1.1
|
16
|
+
Requires-Dist: opengeode-core==14.9.1
|
17
|
+
Requires-Dist: opengeode-geosciences==7.2.1
|
18
|
+
Requires-Dist: opengeode-geosciencesio==4.5.1
|
19
|
+
Requires-Dist: opengeode-inspector==4.0.0
|
20
|
+
Requires-Dist: opengeode-io==6.2.1
|
21
21
|
|
22
22
|
|
23
23
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
@@ -2,33 +2,34 @@
|
|
2
2
|
# This file is autogenerated by pip-compile with Python 3.9
|
3
3
|
# by the following command:
|
4
4
|
#
|
5
|
-
# pip-compile requirements.in
|
5
|
+
# pip-compile --resolver=backtracking requirements.in
|
6
6
|
#
|
7
|
-
geode-common==
|
7
|
+
geode-common==28.0.0
|
8
8
|
# via geode-viewables
|
9
|
-
geode-viewables==2.1.
|
9
|
+
geode-viewables==2.1.1
|
10
10
|
# via -r requirements.in
|
11
|
-
opengeode-core==14.
|
11
|
+
opengeode-core==14.9.1
|
12
12
|
# via
|
13
13
|
# -r requirements.in
|
14
|
+
# geode-common
|
14
15
|
# geode-viewables
|
15
16
|
# opengeode-geosciences
|
16
17
|
# opengeode-geosciencesio
|
17
18
|
# opengeode-inspector
|
18
19
|
# opengeode-io
|
19
|
-
opengeode-geosciences==7.2.
|
20
|
+
opengeode-geosciences==7.2.1
|
20
21
|
# via
|
21
22
|
# -r requirements.in
|
22
23
|
# geode-viewables
|
23
24
|
# opengeode-geosciencesio
|
24
25
|
# opengeode-inspector
|
25
|
-
opengeode-geosciencesio==4.5.
|
26
|
+
opengeode-geosciencesio==4.5.1
|
26
27
|
# via
|
27
28
|
# -r requirements.in
|
28
29
|
# opengeode-inspector
|
29
|
-
opengeode-inspector==
|
30
|
+
opengeode-inspector==4.0.0
|
30
31
|
# via -r requirements.in
|
31
|
-
opengeode-io==6.2.
|
32
|
+
opengeode-io==6.2.1
|
32
33
|
# via
|
33
34
|
# -r requirements.in
|
34
35
|
# geode-viewables
|
{OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OpenGeodeWeb-Back
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.3.0
|
4
4
|
Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
|
5
5
|
Author-email: Geode-solutions <team-web@geode-solutions.com>
|
6
6
|
Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
|
@@ -11,13 +11,13 @@ Classifier: Operating System :: OS Independent
|
|
11
11
|
Requires-Python: >=3.8
|
12
12
|
Description-Content-Type: text/markdown
|
13
13
|
License-File: LICENSE
|
14
|
-
Requires-Dist: geode-common==
|
15
|
-
Requires-Dist: geode-viewables==2.1.
|
16
|
-
Requires-Dist: opengeode-core==14.
|
17
|
-
Requires-Dist: opengeode-geosciences==7.2.
|
18
|
-
Requires-Dist: opengeode-geosciencesio==4.5.
|
19
|
-
Requires-Dist: opengeode-inspector==
|
20
|
-
Requires-Dist: opengeode-io==6.2.
|
14
|
+
Requires-Dist: geode-common==28.0.0
|
15
|
+
Requires-Dist: geode-viewables==2.1.1
|
16
|
+
Requires-Dist: opengeode-core==14.9.1
|
17
|
+
Requires-Dist: opengeode-geosciences==7.2.1
|
18
|
+
Requires-Dist: opengeode-geosciencesio==4.5.1
|
19
|
+
Requires-Dist: opengeode-inspector==4.0.0
|
20
|
+
Requires-Dist: opengeode-io==6.2.1
|
21
21
|
|
22
22
|
|
23
23
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
{OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/geode_functions.py
RENAMED
@@ -13,39 +13,47 @@ import pkg_resources
|
|
13
13
|
import werkzeug
|
14
14
|
|
15
15
|
# Local application imports
|
16
|
-
from .geode_objects import
|
16
|
+
from .geode_objects import geode_objects_dict
|
17
17
|
|
18
18
|
|
19
|
-
def
|
20
|
-
return
|
19
|
+
def geode_object_value(geode_object: str):
|
20
|
+
return geode_objects_dict()[geode_object]
|
21
21
|
|
22
22
|
|
23
|
-
def
|
24
|
-
return
|
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"]
|
29
|
+
|
30
|
+
|
31
|
+
def missing_files(geode_object: str, file_absolute_path: str):
|
32
|
+
return geode_object_value(geode_object)["missing_files"](file_absolute_path)
|
25
33
|
|
26
34
|
|
27
35
|
def load(geode_object: str, file_absolute_path: str):
|
28
|
-
return
|
36
|
+
return geode_object_value(geode_object)["load"](file_absolute_path)
|
29
37
|
|
30
38
|
|
31
39
|
def save(geode_object: str, data, folder_absolute_path: str, filename: str):
|
32
|
-
return
|
40
|
+
return geode_object_value(geode_object)["save"](
|
33
41
|
data, os.path.join(folder_absolute_path, filename)
|
34
42
|
)
|
35
43
|
|
36
44
|
|
37
45
|
def create_builder(geode_object: str, data):
|
38
|
-
return
|
46
|
+
return geode_object_value(geode_object)["builder"](data)
|
39
47
|
|
40
48
|
|
41
49
|
def assign_crs(geode_object: str, data, crs_name: str, info):
|
42
50
|
builder = create_builder(geode_object, data)
|
43
|
-
|
51
|
+
geode_object_value(geode_object)["crs"]["assign"](data, builder, crs_name, info)
|
44
52
|
|
45
53
|
|
46
54
|
def convert_crs(geode_object: str, data, crs_name: str, info):
|
47
55
|
builder = create_builder(geode_object, data)
|
48
|
-
|
56
|
+
geode_object_value(geode_object)["crs"]["convert"](data, builder, crs_name, info)
|
49
57
|
|
50
58
|
|
51
59
|
def create_crs(
|
@@ -56,110 +64,104 @@ def create_crs(
|
|
56
64
|
output_coordiante_system,
|
57
65
|
):
|
58
66
|
builder = create_builder(geode_object, data)
|
59
|
-
|
67
|
+
geode_object_value(geode_object)["crs"]["create"](
|
60
68
|
data, builder, name, input_coordiante_system, output_coordiante_system
|
61
69
|
)
|
62
70
|
|
63
71
|
|
64
72
|
def is_model(geode_object: str):
|
65
|
-
return
|
73
|
+
return geode_object_value(geode_object)["is_model"]
|
66
74
|
|
67
75
|
|
68
76
|
def is_3D(geode_object: str):
|
69
|
-
return
|
77
|
+
return geode_object_value(geode_object)["is_3D"]
|
70
78
|
|
71
79
|
|
72
80
|
def is_viewable(geode_object: str):
|
73
|
-
return
|
81
|
+
return geode_object_value(geode_object)["is_viewable"]
|
74
82
|
|
75
83
|
|
76
|
-
def
|
77
|
-
return
|
84
|
+
def inspector(geode_object: str, data):
|
85
|
+
return geode_object_value(geode_object)["inspector"](data)
|
78
86
|
|
79
87
|
|
80
88
|
def save_viewable(geode_object: str, data, folder_absolute_path: str, id: str):
|
81
|
-
return
|
89
|
+
return geode_object_value(geode_object)["save_viewable"](
|
82
90
|
data, os.path.join(folder_absolute_path, id)
|
83
91
|
)
|
84
92
|
|
85
93
|
|
86
|
-
def
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
list_creators = input.list_creators()
|
91
|
-
inputs_list = inputs_list + list_creators
|
92
|
-
inputs_list = list(set(inputs_list))
|
93
|
-
inputs_list.sort()
|
94
|
-
return inputs_list
|
95
|
-
|
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
|
96
98
|
|
97
|
-
def get_geode_object_output_extensions(geode_object: str):
|
98
|
-
output_list = []
|
99
|
-
geode_object_outputs = get_output_factory(geode_object)
|
100
99
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
output_list.sort()
|
106
|
-
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
|
107
104
|
|
108
105
|
|
109
|
-
def list_input_extensions(
|
110
|
-
keys: list = [],
|
111
|
-
):
|
112
|
-
"""
|
113
|
-
Purpose:
|
114
|
-
Function that returns a list of all input extensions
|
115
|
-
Args:
|
116
|
-
keys -- Tells the function if we want the geode_objects that have a crs
|
117
|
-
Returns:
|
118
|
-
An ordered list of input file extensions
|
119
|
-
"""
|
106
|
+
def list_input_extensions(key: str = None):
|
120
107
|
extensions_list = []
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
pass
|
128
|
-
else:
|
129
|
-
continue
|
108
|
+
for geode_object, value in geode_objects_dict().items():
|
109
|
+
if key != None:
|
110
|
+
if key in value:
|
111
|
+
if type(value[key]) == bool:
|
112
|
+
if value[key] == True:
|
113
|
+
extensions_list += geode_object_input_extensions(geode_object)
|
130
114
|
else:
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
extensions_list = extensions_list + geode_object_input_extensions
|
115
|
+
extensions_list += geode_object_input_extensions(geode_object)
|
116
|
+
else:
|
117
|
+
extensions_list += geode_object_input_extensions(geode_object)
|
135
118
|
|
136
119
|
extensions_list = list(set(extensions_list))
|
137
120
|
extensions_list.sort()
|
138
121
|
return extensions_list
|
139
122
|
|
140
123
|
|
141
|
-
def
|
142
|
-
|
143
|
-
|
144
|
-
Function that returns a list of objects that can handle a file, given his extension
|
145
|
-
Args:
|
146
|
-
extension -- The extension of the file
|
147
|
-
Returns:
|
148
|
-
An ordered list of object's names
|
149
|
-
"""
|
150
|
-
geode_objects_list = []
|
124
|
+
def has_creator(geode_object: str, extension: str):
|
125
|
+
return input_factory(geode_object).has_creator(extension)
|
126
|
+
|
151
127
|
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
128
|
+
def list_geode_objects(extension: str, key: str = None):
|
129
|
+
geode_objects_list = []
|
130
|
+
for geode_object, value in geode_objects_dict().items():
|
131
|
+
if key != None:
|
132
|
+
if key in value:
|
133
|
+
if type(value[key]) == bool:
|
134
|
+
if value[key] == True:
|
135
|
+
if has_creator(geode_object, extension):
|
136
|
+
geode_objects_list.append(geode_object)
|
137
|
+
elif has_creator(geode_object, extension):
|
157
138
|
geode_objects_list.append(geode_object)
|
139
|
+
else:
|
140
|
+
if has_creator(geode_object, extension):
|
141
|
+
geode_objects_list.append(geode_object)
|
142
|
+
|
158
143
|
geode_objects_list.sort()
|
159
144
|
return geode_objects_list
|
160
145
|
|
161
146
|
|
162
|
-
def
|
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):
|
163
165
|
list_with_versions = []
|
164
166
|
for package in list_packages:
|
165
167
|
list_with_versions.append(
|
@@ -228,11 +230,11 @@ def set_interval(func, sec):
|
|
228
230
|
return t
|
229
231
|
|
230
232
|
|
231
|
-
def
|
233
|
+
def extension_from_filename(filename):
|
232
234
|
return os.path.splitext(filename)[1][1:]
|
233
235
|
|
234
236
|
|
235
|
-
def
|
237
|
+
def form_variables(form, variables_array):
|
236
238
|
variables_dict = {}
|
237
239
|
for variable in variables_array:
|
238
240
|
if form.get(variable) is None:
|
@@ -242,14 +244,14 @@ def get_form_variables(form, variables_array):
|
|
242
244
|
return variables_dict
|
243
245
|
|
244
246
|
|
245
|
-
def
|
247
|
+
def geographic_coordinate_systems(geode_object: str):
|
246
248
|
if is_3D(geode_object):
|
247
249
|
return og_gs.GeographicCoordinateSystem3D.geographic_coordinate_systems()
|
248
250
|
else:
|
249
251
|
return og_gs.GeographicCoordinateSystem2D.geographic_coordinate_systems()
|
250
252
|
|
251
253
|
|
252
|
-
def
|
254
|
+
def geographic_coordinate_systems_info(geode_object: str, crs):
|
253
255
|
if is_3D(geode_object):
|
254
256
|
return og_gs.GeographicCoordinateSystemInfo3D(
|
255
257
|
crs["authority"], crs["code"], crs["name"]
|
@@ -260,7 +262,7 @@ def get_geographic_coordinate_systems_info(geode_object: str, crs):
|
|
260
262
|
)
|
261
263
|
|
262
264
|
|
263
|
-
def
|
265
|
+
def coordinate_system(geode_object: str, coordinate_system):
|
264
266
|
return og.CoordinateSystem2D(
|
265
267
|
[
|
266
268
|
og.Vector2D(
|
@@ -285,24 +287,20 @@ def get_coordinate_system(geode_object: str, coordinate_system):
|
|
285
287
|
|
286
288
|
|
287
289
|
def assign_geographic_coordinate_system_info(geode_object: str, data, input_crs):
|
288
|
-
info =
|
290
|
+
info = geographic_coordinate_systems_info(geode_object, input_crs)
|
289
291
|
assign_crs(geode_object, data, input_crs["name"], info)
|
290
292
|
|
291
293
|
|
292
294
|
def convert_geographic_coordinate_system_info(geode_object: str, data, output_crs):
|
293
|
-
info =
|
295
|
+
info = geographic_coordinate_systems_info(geode_object, output_crs)
|
294
296
|
convert_crs(geode_object, data, output_crs["name"], info)
|
295
297
|
|
296
298
|
|
297
299
|
def create_coordinate_system(
|
298
300
|
geode_object: str, data, name, input_coordinate_points, output_coordinate_points
|
299
301
|
):
|
300
|
-
input_coordiante_system =
|
301
|
-
|
302
|
-
)
|
303
|
-
output_coordiante_system = get_coordinate_system(
|
304
|
-
geode_object, output_coordinate_points
|
305
|
-
)
|
302
|
+
input_coordiante_system = coordinate_system(geode_object, input_coordinate_points)
|
303
|
+
output_coordiante_system = coordinate_system(geode_object, output_coordinate_points)
|
306
304
|
create_crs(
|
307
305
|
geode_object, data, name, input_coordiante_system, output_coordiante_system
|
308
306
|
)
|
{OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/geode_objects.py
RENAMED
@@ -6,11 +6,12 @@ import opengeode_geosciencesio as og_gs_io
|
|
6
6
|
import geode_viewables as g_v
|
7
7
|
|
8
8
|
|
9
|
-
def
|
9
|
+
def geode_objects_dict():
|
10
10
|
return {
|
11
11
|
"BRep": {
|
12
|
-
"input_factory":
|
13
|
-
"output_factory":
|
12
|
+
"input_factory": og.BRepInputFactory,
|
13
|
+
"output_factory": og.BRepOutputFactory,
|
14
|
+
"missing_files": og.check_brep_missing_files,
|
14
15
|
"load": og.load_brep,
|
15
16
|
"save": og.save_brep,
|
16
17
|
"builder": og.BRepBuilder,
|
@@ -26,11 +27,10 @@ def objects_list():
|
|
26
27
|
"inspector": og_inspector.BRepInspector,
|
27
28
|
},
|
28
29
|
"CrossSection": {
|
29
|
-
"
|
30
|
-
"
|
31
|
-
|
32
|
-
|
33
|
-
],
|
30
|
+
"parent": "Section",
|
31
|
+
"input_factory": og_gs.CrossSectionInputFactory,
|
32
|
+
"output_factory": og_gs.CrossSectionOutputFactory,
|
33
|
+
"missing_files": og_gs.check_cross_section_missing_files,
|
34
34
|
"load": og_gs.load_cross_section,
|
35
35
|
"save": og_gs.save_cross_section,
|
36
36
|
"builder": og_gs.CrossSectionBuilder,
|
@@ -46,8 +46,9 @@ def objects_list():
|
|
46
46
|
"inspector": og_inspector.SectionInspector,
|
47
47
|
},
|
48
48
|
"EdgedCurve2D": {
|
49
|
-
"input_factory":
|
50
|
-
"output_factory":
|
49
|
+
"input_factory": og.EdgedCurveInputFactory2D,
|
50
|
+
"output_factory": og.EdgedCurveOutputFactory2D,
|
51
|
+
"missing_files": og.check_edged_curve_missing_files2D,
|
51
52
|
"load": og.load_edged_curve2D,
|
52
53
|
"save": og.save_edged_curve2D,
|
53
54
|
"builder": og.EdgedCurveBuilder2D.create,
|
@@ -63,8 +64,9 @@ def objects_list():
|
|
63
64
|
"inspector": og_inspector.EdgedCurveInspector2D,
|
64
65
|
},
|
65
66
|
"EdgedCurve3D": {
|
66
|
-
"input_factory":
|
67
|
-
"output_factory":
|
67
|
+
"input_factory": og.EdgedCurveInputFactory3D,
|
68
|
+
"output_factory": og.EdgedCurveOutputFactory3D,
|
69
|
+
"missing_files": og.check_edged_curve_missing_files3D,
|
68
70
|
"load": og.load_edged_curve3D,
|
69
71
|
"save": og.save_edged_curve3D,
|
70
72
|
"builder": og.EdgedCurveBuilder3D.create,
|
@@ -80,8 +82,9 @@ def objects_list():
|
|
80
82
|
"inspector": og_inspector.EdgedCurveInspector3D,
|
81
83
|
},
|
82
84
|
"Graph": {
|
83
|
-
"input_factory":
|
84
|
-
"output_factory":
|
85
|
+
"input_factory": og.GraphInputFactory,
|
86
|
+
"output_factory": og.GraphOutputFactory,
|
87
|
+
"missing_files": og.check_graph_missing_files,
|
85
88
|
"load": og.load_graph,
|
86
89
|
"save": og.save_graph,
|
87
90
|
"builder": og.GraphBuilder.create,
|
@@ -90,8 +93,9 @@ def objects_list():
|
|
90
93
|
"is_viewable": True,
|
91
94
|
},
|
92
95
|
"HybridSolid3D": {
|
93
|
-
"input_factory":
|
94
|
-
"output_factory":
|
96
|
+
"input_factory": og.HybridSolidInputFactory3D,
|
97
|
+
"output_factory": og.HybridSolidOutputFactory3D,
|
98
|
+
"missing_files": og.check_hybrid_solid_missing_files3D,
|
95
99
|
"load": og.load_hybrid_solid3D,
|
96
100
|
"save": og.save_hybrid_solid3D,
|
97
101
|
"builder": og.HybridSolidBuilder3D.create,
|
@@ -107,8 +111,9 @@ def objects_list():
|
|
107
111
|
"inspector": og_inspector.SolidMeshInspector3D,
|
108
112
|
},
|
109
113
|
"PointSet2D": {
|
110
|
-
"input_factory":
|
111
|
-
"output_factory":
|
114
|
+
"input_factory": og.PointSetInputFactory2D,
|
115
|
+
"output_factory": og.PointSetOutputFactory2D,
|
116
|
+
"missing_files": og.check_point_set_missing_files2D,
|
112
117
|
"load": og.load_point_set2D,
|
113
118
|
"save": og.save_point_set2D,
|
114
119
|
"builder": og.PointSetBuilder2D.create,
|
@@ -124,8 +129,9 @@ def objects_list():
|
|
124
129
|
"inspector": og_inspector.PointSetInspector2D,
|
125
130
|
},
|
126
131
|
"PointSet3D": {
|
127
|
-
"input_factory":
|
128
|
-
"output_factory":
|
132
|
+
"input_factory": og.PointSetInputFactory3D,
|
133
|
+
"output_factory": og.PointSetOutputFactory3D,
|
134
|
+
"missing_files": og.check_point_set_missing_files3D,
|
129
135
|
"load": og.load_point_set3D,
|
130
136
|
"save": og.save_point_set3D,
|
131
137
|
"builder": og.PointSetBuilder3D.create,
|
@@ -141,8 +147,9 @@ def objects_list():
|
|
141
147
|
"inspector": og_inspector.PointSetInspector3D,
|
142
148
|
},
|
143
149
|
"PolygonalSurface2D": {
|
144
|
-
"input_factory":
|
145
|
-
"output_factory":
|
150
|
+
"input_factory": og.PolygonalSurfaceInputFactory2D,
|
151
|
+
"output_factory": og.PolygonalSurfaceOutputFactory2D,
|
152
|
+
"missing_files": og.check_polygonal_surface_missing_files2D,
|
146
153
|
"load": og.load_polygonal_surface2D,
|
147
154
|
"save": og.save_polygonal_surface2D,
|
148
155
|
"builder": og.PolygonalSurfaceBuilder2D.create,
|
@@ -158,8 +165,9 @@ def objects_list():
|
|
158
165
|
"inspector": og_inspector.SurfaceMeshInspector2D,
|
159
166
|
},
|
160
167
|
"PolygonalSurface3D": {
|
161
|
-
"input_factory":
|
162
|
-
"output_factory":
|
168
|
+
"input_factory": og.PolygonalSurfaceInputFactory3D,
|
169
|
+
"output_factory": og.PolygonalSurfaceOutputFactory3D,
|
170
|
+
"missing_files": og.check_polygonal_surface_missing_files3D,
|
163
171
|
"load": og.load_polygonal_surface3D,
|
164
172
|
"save": og.save_polygonal_surface3D,
|
165
173
|
"builder": og.PolygonalSurfaceBuilder3D.create,
|
@@ -175,8 +183,9 @@ def objects_list():
|
|
175
183
|
"inspector": og_inspector.SurfaceMeshInspector3D,
|
176
184
|
},
|
177
185
|
"PolyhedralSolid3D": {
|
178
|
-
"input_factory":
|
179
|
-
"output_factory":
|
186
|
+
"input_factory": og.PolyhedralSolidInputFactory3D,
|
187
|
+
"output_factory": og.PolyhedralSolidOutputFactory3D,
|
188
|
+
"missing_files": og.check_polyhedral_solid_missing_files3D,
|
180
189
|
"load": og.load_polyhedral_solid3D,
|
181
190
|
"save": og.save_polyhedral_solid3D,
|
182
191
|
"builder": og.PolyhedralSolidBuilder3D.create,
|
@@ -192,8 +201,9 @@ def objects_list():
|
|
192
201
|
"inspector": og_inspector.SolidMeshInspector3D,
|
193
202
|
},
|
194
203
|
"RasterImage2D": {
|
195
|
-
"input_factory":
|
196
|
-
"output_factory":
|
204
|
+
"input_factory": og.RasterImageInputFactory2D,
|
205
|
+
"output_factory": og.RasterImageOutputFactory2D,
|
206
|
+
"missing_files": og.check_raster_image_missing_files2D,
|
197
207
|
"load": og.load_raster_image2D,
|
198
208
|
"save": og.save_raster_image2D,
|
199
209
|
"is_model": False,
|
@@ -202,8 +212,9 @@ def objects_list():
|
|
202
212
|
"save_viewable": g_v.save_viewable_raster_image2D,
|
203
213
|
},
|
204
214
|
"RasterImage3D": {
|
205
|
-
"input_factory":
|
206
|
-
"output_factory":
|
215
|
+
"input_factory": og.RasterImageInputFactory3D,
|
216
|
+
"output_factory": og.RasterImageOutputFactory3D,
|
217
|
+
"missing_files": og.check_raster_image_missing_files3D,
|
207
218
|
"load": og.load_raster_image3D,
|
208
219
|
"save": og.save_raster_image3D,
|
209
220
|
"is_model": False,
|
@@ -212,8 +223,9 @@ def objects_list():
|
|
212
223
|
"save_viewable": g_v.save_viewable_raster_image3D,
|
213
224
|
},
|
214
225
|
"RegularGrid2D": {
|
215
|
-
"input_factory":
|
216
|
-
"output_factory":
|
226
|
+
"input_factory": og.RegularGridInputFactory2D,
|
227
|
+
"output_factory": og.RegularGridOutputFactory2D,
|
228
|
+
"missing_files": og.check_regular_grid_missing_files2D,
|
217
229
|
"load": og.load_regular_grid2D,
|
218
230
|
"save": og.save_regular_grid2D,
|
219
231
|
"builder": og.RegularGridBuilder2D.create,
|
@@ -228,8 +240,9 @@ def objects_list():
|
|
228
240
|
"save_viewable": g_v.save_viewable_regular_grid2D,
|
229
241
|
},
|
230
242
|
"RegularGrid3D": {
|
231
|
-
"input_factory":
|
232
|
-
"output_factory":
|
243
|
+
"input_factory": og.RegularGridInputFactory3D,
|
244
|
+
"output_factory": og.RegularGridOutputFactory3D,
|
245
|
+
"missing_files": og.check_regular_grid_missing_files3D,
|
233
246
|
"load": og.load_regular_grid3D,
|
234
247
|
"save": og.save_regular_grid3D,
|
235
248
|
"builder": og.RegularGridBuilder3D.create,
|
@@ -244,8 +257,9 @@ def objects_list():
|
|
244
257
|
"save_viewable": g_v.save_viewable_regular_grid3D,
|
245
258
|
},
|
246
259
|
"Section": {
|
247
|
-
"input_factory":
|
248
|
-
"output_factory":
|
260
|
+
"input_factory": og.SectionInputFactory,
|
261
|
+
"output_factory": og.SectionOutputFactory,
|
262
|
+
"missing_files": og.check_section_missing_files,
|
249
263
|
"load": og.load_section,
|
250
264
|
"save": og.save_section,
|
251
265
|
"builder": og.SectionBuilder,
|
@@ -261,11 +275,10 @@ def objects_list():
|
|
261
275
|
"inspector": og_inspector.SectionInspector,
|
262
276
|
},
|
263
277
|
"StructuralModel": {
|
264
|
-
"
|
265
|
-
"
|
266
|
-
|
267
|
-
|
268
|
-
],
|
278
|
+
"parent": "BRep",
|
279
|
+
"input_factory": og_gs.StructuralModelInputFactory,
|
280
|
+
"output_factory": og_gs.StructuralModelOutputFactory,
|
281
|
+
"missing_files": og_gs.check_structural_model_missing_files,
|
269
282
|
"load": og_gs.load_structural_model,
|
270
283
|
"save": og_gs.save_structural_model,
|
271
284
|
"builder": og_gs.StructuralModelBuilder,
|
@@ -281,9 +294,10 @@ def objects_list():
|
|
281
294
|
"inspector": og_inspector.BRepInspector,
|
282
295
|
},
|
283
296
|
"TetrahedralSolid3D": {
|
284
|
-
"input_factory":
|
285
|
-
"output_factory":
|
297
|
+
"input_factory": og.TetrahedralSolidInputFactory3D,
|
298
|
+
"output_factory": og.TetrahedralSolidOutputFactory3D,
|
286
299
|
"load": og.load_tetrahedral_solid3D,
|
300
|
+
"missing_files": og.check_tetrahedral_solid_missing_files3D,
|
287
301
|
"save": og.save_tetrahedral_solid3D,
|
288
302
|
"builder": og.TetrahedralSolidBuilder3D.create,
|
289
303
|
"crs": {
|
@@ -298,8 +312,9 @@ def objects_list():
|
|
298
312
|
"inspector": og_inspector.SolidMeshInspector3D,
|
299
313
|
},
|
300
314
|
"TriangulatedSurface2D": {
|
301
|
-
"input_factory":
|
302
|
-
"output_factory":
|
315
|
+
"input_factory": og.TriangulatedSurfaceInputFactory2D,
|
316
|
+
"output_factory": og.TriangulatedSurfaceOutputFactory2D,
|
317
|
+
"missing_files": og.check_triangulated_surface_missing_files2D,
|
303
318
|
"load": og.load_triangulated_surface2D,
|
304
319
|
"save": og.save_triangulated_surface2D,
|
305
320
|
"builder": og.TriangulatedSurfaceBuilder2D.create,
|
@@ -315,8 +330,9 @@ def objects_list():
|
|
315
330
|
"inspector": og_inspector.TriangulatedSurfaceInspector2D,
|
316
331
|
},
|
317
332
|
"TriangulatedSurface3D": {
|
318
|
-
"input_factory":
|
319
|
-
"output_factory":
|
333
|
+
"input_factory": og.TriangulatedSurfaceInputFactory3D,
|
334
|
+
"output_factory": og.TriangulatedSurfaceOutputFactory3D,
|
335
|
+
"missing_files": og.check_triangulated_surface_missing_files3D,
|
320
336
|
"load": og.load_triangulated_surface3D,
|
321
337
|
"save": og.save_triangulated_surface3D,
|
322
338
|
"builder": og.TriangulatedSurfaceBuilder3D.create,
|
@@ -332,8 +348,9 @@ def objects_list():
|
|
332
348
|
"inspector": og_inspector.TriangulatedSurfaceInspector3D,
|
333
349
|
},
|
334
350
|
"VertexSet": {
|
335
|
-
"input_factory":
|
336
|
-
"output_factory":
|
351
|
+
"input_factory": og.VertexSetInputFactory,
|
352
|
+
"output_factory": og.VertexSetOutputFactory,
|
353
|
+
"missing_files": og.check_vertex_set_missing_files,
|
337
354
|
"load": og.load_vertex_set,
|
338
355
|
"save": og.save_vertex_set,
|
339
356
|
"builder": og.VertexSetBuilder.create,
|
@@ -0,0 +1,171 @@
|
|
1
|
+
import os
|
2
|
+
from src.opengeodeweb_back import geode_functions, geode_objects
|
3
|
+
|
4
|
+
|
5
|
+
def test_geode_object_value():
|
6
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
7
|
+
geode_object_value = geode_functions.geode_object_value(geode_object)
|
8
|
+
assert type(geode_object_value) is dict
|
9
|
+
|
10
|
+
|
11
|
+
def test_input_factory():
|
12
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
13
|
+
geode_object_input = geode_functions.input_factory(geode_object)
|
14
|
+
assert type(geode_object_input.list_creators()) is list
|
15
|
+
|
16
|
+
|
17
|
+
def test_input_extensions():
|
18
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
19
|
+
geode_object_input_extensions = geode_functions.geode_object_input_extensions(
|
20
|
+
geode_object
|
21
|
+
)
|
22
|
+
|
23
|
+
assert type(geode_object_input_extensions) is list
|
24
|
+
for extension in geode_object_input_extensions:
|
25
|
+
assert type(extension) is str
|
26
|
+
|
27
|
+
|
28
|
+
def test_output_factory():
|
29
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
30
|
+
geode_object_output = geode_functions.output_factory(geode_object)
|
31
|
+
geode_object_output_list = geode_object_output.list_creators()
|
32
|
+
assert type(geode_object_output_list) is list
|
33
|
+
for output in geode_object_output_list:
|
34
|
+
assert type(output) is str
|
35
|
+
|
36
|
+
|
37
|
+
def test_missing_files():
|
38
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
39
|
+
input_extensions = geode_functions.geode_object_input_extensions(geode_object)
|
40
|
+
for input_extension in input_extensions:
|
41
|
+
file_absolute_path = os.path.abspath(f"tests/data/test.{input_extension}")
|
42
|
+
missing_files = geode_functions.missing_files(
|
43
|
+
geode_object, file_absolute_path
|
44
|
+
)
|
45
|
+
has_missing_files = missing_files.has_missing_files()
|
46
|
+
assert type(has_missing_files) is bool
|
47
|
+
mandatory_files = missing_files.mandatory_files
|
48
|
+
assert type(mandatory_files) is list
|
49
|
+
additional_files = missing_files.additional_files
|
50
|
+
assert type(additional_files) is list
|
51
|
+
|
52
|
+
|
53
|
+
def test_is_model():
|
54
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
55
|
+
is_model = geode_functions.is_model(geode_object)
|
56
|
+
assert type(is_model) is bool
|
57
|
+
|
58
|
+
|
59
|
+
def test_is_3D():
|
60
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
61
|
+
is_3D = geode_functions.is_3D(geode_object)
|
62
|
+
assert type(is_3D) is bool
|
63
|
+
|
64
|
+
|
65
|
+
def test_is_viewable():
|
66
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
67
|
+
is_viewable = geode_functions.is_viewable(geode_object)
|
68
|
+
assert type(is_viewable) is bool
|
69
|
+
|
70
|
+
|
71
|
+
def test_geode_object_input_extensions():
|
72
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
73
|
+
input_extensions = geode_functions.geode_object_input_extensions(geode_object)
|
74
|
+
assert type(input_extensions) is list
|
75
|
+
for input_extension in input_extensions:
|
76
|
+
assert type(input_extension) is str
|
77
|
+
|
78
|
+
|
79
|
+
def test_geode_object_output_extensions():
|
80
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
81
|
+
output_extensions = geode_functions.geode_object_output_extensions(geode_object)
|
82
|
+
assert type(output_extensions) is list
|
83
|
+
for output_extension in output_extensions:
|
84
|
+
assert type(output_extension) is str
|
85
|
+
|
86
|
+
|
87
|
+
def test_list_input_extensions():
|
88
|
+
keys_array = ["crs", "inspector", None]
|
89
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
90
|
+
for keys in keys_array:
|
91
|
+
input_extensions = geode_functions.list_input_extensions(keys)
|
92
|
+
assert type(input_extensions) is list
|
93
|
+
|
94
|
+
|
95
|
+
def test_list_geode_objects():
|
96
|
+
test_list = [
|
97
|
+
{
|
98
|
+
"key": "crs",
|
99
|
+
"invalid_geode_objects": [
|
100
|
+
"Graph",
|
101
|
+
"RasterImage2D",
|
102
|
+
"RasterImage3D",
|
103
|
+
"VertexSet",
|
104
|
+
],
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"key": "inspector",
|
108
|
+
"invalid_geode_objects": [
|
109
|
+
"Graph",
|
110
|
+
"RasterImage2D",
|
111
|
+
"RasterImage3D",
|
112
|
+
"RasterImage2D",
|
113
|
+
"RasterImage3D",
|
114
|
+
"VertexSet",
|
115
|
+
],
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"key": None,
|
119
|
+
"invalid_geode_objects": [],
|
120
|
+
},
|
121
|
+
]
|
122
|
+
for test in test_list:
|
123
|
+
key = test["key"]
|
124
|
+
invalid_geode_objects = test["invalid_geode_objects"]
|
125
|
+
|
126
|
+
input_extensions = geode_functions.list_input_extensions(key)
|
127
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
128
|
+
for input_extension in input_extensions:
|
129
|
+
geode_objects_list = geode_functions.list_geode_objects(
|
130
|
+
input_extension, key
|
131
|
+
)
|
132
|
+
assert type(geode_objects_list) is list
|
133
|
+
|
134
|
+
if key != None:
|
135
|
+
assert len(geode_objects_list) > 0
|
136
|
+
for invalid_geode_object in invalid_geode_objects:
|
137
|
+
assert invalid_geode_object not in geode_objects_list
|
138
|
+
else:
|
139
|
+
assert len(geode_objects_list) >= 1
|
140
|
+
|
141
|
+
|
142
|
+
def test_geode_objects_output_extensions():
|
143
|
+
for geode_object, value in geode_objects.geode_objects_dict().items():
|
144
|
+
geode_objects_and_output_extensions_list = (
|
145
|
+
geode_functions.geode_objects_output_extensions(geode_object)
|
146
|
+
)
|
147
|
+
print(f"{geode_objects_and_output_extensions_list=}")
|
148
|
+
assert type(geode_objects_and_output_extensions_list) is list
|
149
|
+
for (
|
150
|
+
geode_object_and_output_extensions
|
151
|
+
) in geode_objects_and_output_extensions_list:
|
152
|
+
assert type(geode_object_and_output_extensions) is dict
|
153
|
+
|
154
|
+
|
155
|
+
def test_versions():
|
156
|
+
list_packages = [
|
157
|
+
"OpenGeode-core",
|
158
|
+
"OpenGeode-IO",
|
159
|
+
"OpenGeode-Geosciences",
|
160
|
+
"OpenGeode-GeosciencesIO",
|
161
|
+
]
|
162
|
+
versions = geode_functions.versions(list_packages)
|
163
|
+
assert type(versions) is list
|
164
|
+
for version in versions:
|
165
|
+
assert type(version) is dict
|
166
|
+
|
167
|
+
|
168
|
+
def test_extension_from_filename():
|
169
|
+
extension = geode_functions.extension_from_filename("test.toto")
|
170
|
+
assert type(extension) is str
|
171
|
+
assert extension.count(".") == 0
|
@@ -1,95 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
from src.opengeodeweb_back import geode_functions, geode_objects
|
3
|
-
|
4
|
-
|
5
|
-
def test_get_input_factory():
|
6
|
-
for geode_object, value in geode_objects.objects_list().items():
|
7
|
-
geode_object_input = geode_functions.get_input_factory(geode_object)
|
8
|
-
assert type(geode_object_input) is list
|
9
|
-
|
10
|
-
|
11
|
-
def test_get_output_factory():
|
12
|
-
for geode_object, value in geode_objects.objects_list().items():
|
13
|
-
geode_object_input = geode_functions.get_output_factory(geode_object)
|
14
|
-
assert type(geode_object_input) is list
|
15
|
-
|
16
|
-
|
17
|
-
def test_is_model():
|
18
|
-
for geode_object, value in geode_objects.objects_list().items():
|
19
|
-
is_model = geode_functions.is_model(geode_object)
|
20
|
-
assert type(is_model) is bool
|
21
|
-
|
22
|
-
|
23
|
-
def test_is_3D():
|
24
|
-
for geode_object, value in geode_objects.objects_list().items():
|
25
|
-
is_3D = geode_functions.is_3D(geode_object)
|
26
|
-
assert type(is_3D) is bool
|
27
|
-
|
28
|
-
|
29
|
-
def test_is_viewable():
|
30
|
-
for geode_object, value in geode_objects.objects_list().items():
|
31
|
-
is_viewable = geode_functions.is_viewable(geode_object)
|
32
|
-
assert type(is_viewable) is bool
|
33
|
-
|
34
|
-
|
35
|
-
def test_get_geode_object_input_extensions():
|
36
|
-
for geode_object, value in geode_objects.objects_list().items():
|
37
|
-
input_extensions = geode_functions.get_geode_object_input_extensions(
|
38
|
-
geode_object
|
39
|
-
)
|
40
|
-
assert type(input_extensions) is list
|
41
|
-
for extension in input_extensions:
|
42
|
-
assert type(extension) is str
|
43
|
-
|
44
|
-
|
45
|
-
def test_get_geode_object_output_extensions():
|
46
|
-
for geode_object, value in geode_objects.objects_list().items():
|
47
|
-
output_extensions = geode_functions.get_geode_object_output_extensions(
|
48
|
-
geode_object
|
49
|
-
)
|
50
|
-
assert type(output_extensions) is list
|
51
|
-
for extension in output_extensions:
|
52
|
-
assert type(extension) is str
|
53
|
-
|
54
|
-
|
55
|
-
def test_list_input_extensions():
|
56
|
-
keys_array = [["crs"], ["inspector"]]
|
57
|
-
for geode_object, value in geode_objects.objects_list().items():
|
58
|
-
for keys in keys_array:
|
59
|
-
input_extensions = geode_functions.list_input_extensions(keys)
|
60
|
-
assert type(input_extensions) is list
|
61
|
-
|
62
|
-
|
63
|
-
def test_list_geode_objects():
|
64
|
-
keys_array = [["crs"], ["inspector"]]
|
65
|
-
input_extensions = geode_functions.list_input_extensions()
|
66
|
-
for geode_object, value in geode_objects.objects_list().items():
|
67
|
-
for input_extension in input_extensions:
|
68
|
-
for keys in keys_array:
|
69
|
-
print(f"{input_extension=}")
|
70
|
-
print(f"{keys=}")
|
71
|
-
geode_objects_list = geode_functions.list_geode_objects(
|
72
|
-
input_extension, keys
|
73
|
-
)
|
74
|
-
assert type(geode_objects_list) is list
|
75
|
-
|
76
|
-
|
77
|
-
def test_get_versions():
|
78
|
-
list_packages = [
|
79
|
-
"OpenGeode-core",
|
80
|
-
"OpenGeode-IO",
|
81
|
-
"OpenGeode-Geosciences",
|
82
|
-
"OpenGeode-GeosciencesIO",
|
83
|
-
]
|
84
|
-
versions = geode_functions.get_versions(list_packages)
|
85
|
-
assert type(versions) is list
|
86
|
-
for version in versions:
|
87
|
-
assert type(version) is dict
|
88
|
-
|
89
|
-
|
90
|
-
def test_get_extension_from_filename():
|
91
|
-
extension = geode_functions.get_extension_from_filename("test.toto")
|
92
|
-
print(extension)
|
93
|
-
assert type(extension) is str
|
94
|
-
print()
|
95
|
-
assert extension.count(".") == 0
|
File without changes
|
File without changes
|
File without changes
|
{OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/OpenGeodeWeb_Back.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
{OpenGeodeWeb-Back-1.2.1rc3 → OpenGeodeWeb-Back-1.3.0}/src/opengeodeweb_back/inspector_functions.py
RENAMED
File without changes
|