OpenGeodeWeb-Back 5.4.0rc1__tar.gz → 5.4.0rc3__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-5.4.0rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.4.0rc3}/PKG-INFO +17 -17
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/pyproject.toml +1 -1
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/requirements.txt +16 -16
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +17 -17
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +3 -0
- opengeodeweb_back-5.4.0rc3/src/OpenGeodeWeb_Back.egg-info/requires.txt +28 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/geode_functions.py +2 -2
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/geode_objects.py +30 -25
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/blueprint_routes.py +66 -0
- opengeodeweb_back-5.4.0rc3/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +15 -0
- opengeodeweb_back-5.4.0rc3/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +15 -0
- opengeodeweb_back-5.4.0rc3/src/opengeodeweb_back/test_utils.py +25 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/tests/test_geode_functions.py +9 -3
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/tests/test_routes.py +87 -61
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/tests/test_utils_functions.py +5 -0
- opengeodeweb_back-5.4.0rc1/src/OpenGeodeWeb_Back.egg-info/requires.txt +0 -28
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/LICENSE +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/README.md +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/setup.cfg +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/__init__.py +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/app_config.py +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/create_point.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
- {opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/utils_functions.py +0 -0
{opengeodeweb_back-5.4.0rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.4.0rc3}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OpenGeodeWeb-Back
|
3
|
-
Version: 5.4.
|
3
|
+
Version: 5.4.0rc3
|
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
|
@@ -13,32 +13,32 @@ Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
14
14
|
Requires-Dist: asgiref==3.8.1
|
15
15
|
Requires-Dist: attrs==24.2.0
|
16
|
-
Requires-Dist: blinker==1.
|
16
|
+
Requires-Dist: blinker==1.9.0
|
17
17
|
Requires-Dist: click==8.1.7
|
18
|
-
Requires-Dist: flask[async]==3.0
|
18
|
+
Requires-Dist: flask[async]==3.1.0
|
19
19
|
Requires-Dist: flask-cors==5.0.0
|
20
|
-
Requires-Dist: geode-background==8.7.
|
21
|
-
Requires-Dist: geode-common==33.
|
22
|
-
Requires-Dist: geode-conversion==6.0.
|
23
|
-
Requires-Dist: geode-explicit==6.1.
|
24
|
-
Requires-Dist: geode-implicit==3.3.
|
25
|
-
Requires-Dist: geode-numerics==5.
|
26
|
-
Requires-Dist: geode-simplex==8.2.
|
27
|
-
Requires-Dist: geode-viewables==3.0.
|
20
|
+
Requires-Dist: geode-background==8.7.5
|
21
|
+
Requires-Dist: geode-common==33.1.3
|
22
|
+
Requires-Dist: geode-conversion==6.0.18
|
23
|
+
Requires-Dist: geode-explicit==6.1.17
|
24
|
+
Requires-Dist: geode-implicit==3.3.5
|
25
|
+
Requires-Dist: geode-numerics==5.2.0
|
26
|
+
Requires-Dist: geode-simplex==8.2.18
|
27
|
+
Requires-Dist: geode-viewables==3.0.8
|
28
28
|
Requires-Dist: itsdangerous==2.2.0
|
29
29
|
Requires-Dist: jinja2==3.1.4
|
30
30
|
Requires-Dist: jsonschema==4.23.0
|
31
31
|
Requires-Dist: jsonschema-specifications==2024.10.1
|
32
32
|
Requires-Dist: markupsafe==3.0.2
|
33
|
-
Requires-Dist: opengeode-core==15.6.
|
34
|
-
Requires-Dist: opengeode-geosciences==8.
|
35
|
-
Requires-Dist: opengeode-geosciencesio==5.2
|
36
|
-
Requires-Dist: opengeode-inspector==6.1.
|
37
|
-
Requires-Dist: opengeode-io==7.0.
|
33
|
+
Requires-Dist: opengeode-core==15.6.7
|
34
|
+
Requires-Dist: opengeode-geosciences==8.2.0
|
35
|
+
Requires-Dist: opengeode-geosciencesio==5.3.2
|
36
|
+
Requires-Dist: opengeode-inspector==6.1.15
|
37
|
+
Requires-Dist: opengeode-io==7.0.7
|
38
38
|
Requires-Dist: referencing==0.35.1
|
39
39
|
Requires-Dist: rpds-py==0.21.0
|
40
40
|
Requires-Dist: typing-extensions==4.12.2
|
41
|
-
Requires-Dist: werkzeug==3.1.
|
41
|
+
Requires-Dist: werkzeug==3.1.3
|
42
42
|
|
43
43
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
44
44
|
<h3 align="center">OpenSource Python framework based on OpenGeode</h3>
|
@@ -10,22 +10,22 @@ attrs==24.2.0
|
|
10
10
|
# via
|
11
11
|
# jsonschema
|
12
12
|
# referencing
|
13
|
-
blinker==1.
|
13
|
+
blinker==1.9.0
|
14
14
|
# via flask
|
15
15
|
click==8.1.7
|
16
16
|
# via flask
|
17
|
-
flask[async]==3.0
|
17
|
+
flask[async]==3.1.0
|
18
18
|
# via
|
19
19
|
# -r requirements.in
|
20
20
|
# flask-cors
|
21
21
|
flask-cors==5.0.0
|
22
22
|
# via -r requirements.in
|
23
|
-
geode-background==8.7.
|
23
|
+
geode-background==8.7.5
|
24
24
|
# via
|
25
25
|
# geode-explicit
|
26
26
|
# geode-implicit
|
27
27
|
# geode-simplex
|
28
|
-
geode-common==33.
|
28
|
+
geode-common==33.1.3
|
29
29
|
# via
|
30
30
|
# -r requirements.in
|
31
31
|
# geode-background
|
@@ -35,26 +35,26 @@ geode-common==33.0.9
|
|
35
35
|
# geode-numerics
|
36
36
|
# geode-simplex
|
37
37
|
# geode-viewables
|
38
|
-
geode-conversion==6.0.
|
38
|
+
geode-conversion==6.0.18
|
39
39
|
# via
|
40
40
|
# geode-explicit
|
41
41
|
# geode-implicit
|
42
|
-
geode-explicit==6.1.
|
42
|
+
geode-explicit==6.1.17
|
43
43
|
# via
|
44
44
|
# -r requirements.in
|
45
45
|
# geode-implicit
|
46
|
-
geode-implicit==3.3.
|
46
|
+
geode-implicit==3.3.5
|
47
47
|
# via -r requirements.in
|
48
|
-
geode-numerics==5.
|
48
|
+
geode-numerics==5.2.0
|
49
49
|
# via
|
50
50
|
# -r requirements.in
|
51
51
|
# geode-implicit
|
52
52
|
# geode-simplex
|
53
|
-
geode-simplex==8.2.
|
53
|
+
geode-simplex==8.2.18
|
54
54
|
# via
|
55
55
|
# -r requirements.in
|
56
56
|
# geode-implicit
|
57
|
-
geode-viewables==3.0.
|
57
|
+
geode-viewables==3.0.8
|
58
58
|
# via -r requirements.in
|
59
59
|
itsdangerous==2.2.0
|
60
60
|
# via flask
|
@@ -68,7 +68,7 @@ markupsafe==3.0.2
|
|
68
68
|
# via
|
69
69
|
# jinja2
|
70
70
|
# werkzeug
|
71
|
-
opengeode-core==15.6.
|
71
|
+
opengeode-core==15.6.7
|
72
72
|
# via
|
73
73
|
# -r requirements.in
|
74
74
|
# geode-background
|
@@ -83,23 +83,23 @@ opengeode-core==15.6.3
|
|
83
83
|
# opengeode-geosciencesio
|
84
84
|
# opengeode-inspector
|
85
85
|
# opengeode-io
|
86
|
-
opengeode-geosciences==8.
|
86
|
+
opengeode-geosciences==8.2.0
|
87
87
|
# via
|
88
88
|
# -r requirements.in
|
89
89
|
# geode-implicit
|
90
90
|
# geode-viewables
|
91
91
|
# opengeode-geosciencesio
|
92
|
-
opengeode-geosciencesio==5.2
|
92
|
+
opengeode-geosciencesio==5.3.2
|
93
93
|
# via
|
94
94
|
# -r requirements.in
|
95
95
|
# geode-implicit
|
96
|
-
opengeode-inspector==6.1.
|
96
|
+
opengeode-inspector==6.1.15
|
97
97
|
# via
|
98
98
|
# -r requirements.in
|
99
99
|
# geode-explicit
|
100
100
|
# geode-implicit
|
101
101
|
# geode-simplex
|
102
|
-
opengeode-io==7.0.
|
102
|
+
opengeode-io==7.0.7
|
103
103
|
# via
|
104
104
|
# -r requirements.in
|
105
105
|
# geode-implicit
|
@@ -115,7 +115,7 @@ rpds-py==0.21.0
|
|
115
115
|
# referencing
|
116
116
|
typing-extensions==4.12.2
|
117
117
|
# via asgiref
|
118
|
-
werkzeug==3.1.
|
118
|
+
werkzeug==3.1.3
|
119
119
|
# via
|
120
120
|
# -r requirements.in
|
121
121
|
# flask
|
{opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3/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: 5.4.
|
3
|
+
Version: 5.4.0rc3
|
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
|
@@ -13,32 +13,32 @@ Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
14
14
|
Requires-Dist: asgiref==3.8.1
|
15
15
|
Requires-Dist: attrs==24.2.0
|
16
|
-
Requires-Dist: blinker==1.
|
16
|
+
Requires-Dist: blinker==1.9.0
|
17
17
|
Requires-Dist: click==8.1.7
|
18
|
-
Requires-Dist: flask[async]==3.0
|
18
|
+
Requires-Dist: flask[async]==3.1.0
|
19
19
|
Requires-Dist: flask-cors==5.0.0
|
20
|
-
Requires-Dist: geode-background==8.7.
|
21
|
-
Requires-Dist: geode-common==33.
|
22
|
-
Requires-Dist: geode-conversion==6.0.
|
23
|
-
Requires-Dist: geode-explicit==6.1.
|
24
|
-
Requires-Dist: geode-implicit==3.3.
|
25
|
-
Requires-Dist: geode-numerics==5.
|
26
|
-
Requires-Dist: geode-simplex==8.2.
|
27
|
-
Requires-Dist: geode-viewables==3.0.
|
20
|
+
Requires-Dist: geode-background==8.7.5
|
21
|
+
Requires-Dist: geode-common==33.1.3
|
22
|
+
Requires-Dist: geode-conversion==6.0.18
|
23
|
+
Requires-Dist: geode-explicit==6.1.17
|
24
|
+
Requires-Dist: geode-implicit==3.3.5
|
25
|
+
Requires-Dist: geode-numerics==5.2.0
|
26
|
+
Requires-Dist: geode-simplex==8.2.18
|
27
|
+
Requires-Dist: geode-viewables==3.0.8
|
28
28
|
Requires-Dist: itsdangerous==2.2.0
|
29
29
|
Requires-Dist: jinja2==3.1.4
|
30
30
|
Requires-Dist: jsonschema==4.23.0
|
31
31
|
Requires-Dist: jsonschema-specifications==2024.10.1
|
32
32
|
Requires-Dist: markupsafe==3.0.2
|
33
|
-
Requires-Dist: opengeode-core==15.6.
|
34
|
-
Requires-Dist: opengeode-geosciences==8.
|
35
|
-
Requires-Dist: opengeode-geosciencesio==5.2
|
36
|
-
Requires-Dist: opengeode-inspector==6.1.
|
37
|
-
Requires-Dist: opengeode-io==7.0.
|
33
|
+
Requires-Dist: opengeode-core==15.6.7
|
34
|
+
Requires-Dist: opengeode-geosciences==8.2.0
|
35
|
+
Requires-Dist: opengeode-geosciencesio==5.3.2
|
36
|
+
Requires-Dist: opengeode-inspector==6.1.15
|
37
|
+
Requires-Dist: opengeode-io==7.0.7
|
38
38
|
Requires-Dist: referencing==0.35.1
|
39
39
|
Requires-Dist: rpds-py==0.21.0
|
40
40
|
Requires-Dist: typing-extensions==4.12.2
|
41
|
-
Requires-Dist: werkzeug==3.1.
|
41
|
+
Requires-Dist: werkzeug==3.1.3
|
42
42
|
|
43
43
|
<h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
|
44
44
|
<h3 align="center">OpenSource Python framework based on OpenGeode</h3>
|
{opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt
RENAMED
@@ -11,6 +11,7 @@ src/opengeodeweb_back/__init__.py
|
|
11
11
|
src/opengeodeweb_back/app_config.py
|
12
12
|
src/opengeodeweb_back/geode_functions.py
|
13
13
|
src/opengeodeweb_back/geode_objects.py
|
14
|
+
src/opengeodeweb_back/test_utils.py
|
14
15
|
src/opengeodeweb_back/utils_functions.py
|
15
16
|
src/opengeodeweb_back/routes/blueprint_routes.py
|
16
17
|
src/opengeodeweb_back/routes/schemas/allowed_files.json
|
@@ -21,8 +22,10 @@ src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json
|
|
21
22
|
src/opengeodeweb_back/routes/schemas/inspect_file.json
|
22
23
|
src/opengeodeweb_back/routes/schemas/missing_files.json
|
23
24
|
src/opengeodeweb_back/routes/schemas/ping.json
|
25
|
+
src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json
|
24
26
|
src/opengeodeweb_back/routes/schemas/save_viewable_file.json
|
25
27
|
src/opengeodeweb_back/routes/schemas/upload_file.json
|
28
|
+
src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json
|
26
29
|
tests/test_geode_functions.py
|
27
30
|
tests/test_routes.py
|
28
31
|
tests/test_utils_functions.py
|
@@ -0,0 +1,28 @@
|
|
1
|
+
asgiref==3.8.1
|
2
|
+
attrs==24.2.0
|
3
|
+
blinker==1.9.0
|
4
|
+
click==8.1.7
|
5
|
+
flask[async]==3.1.0
|
6
|
+
flask-cors==5.0.0
|
7
|
+
geode-background==8.7.5
|
8
|
+
geode-common==33.1.3
|
9
|
+
geode-conversion==6.0.18
|
10
|
+
geode-explicit==6.1.17
|
11
|
+
geode-implicit==3.3.5
|
12
|
+
geode-numerics==5.2.0
|
13
|
+
geode-simplex==8.2.18
|
14
|
+
geode-viewables==3.0.8
|
15
|
+
itsdangerous==2.2.0
|
16
|
+
jinja2==3.1.4
|
17
|
+
jsonschema==4.23.0
|
18
|
+
jsonschema-specifications==2024.10.1
|
19
|
+
markupsafe==3.0.2
|
20
|
+
opengeode-core==15.6.7
|
21
|
+
opengeode-geosciences==8.2.0
|
22
|
+
opengeode-geosciencesio==5.3.2
|
23
|
+
opengeode-inspector==6.1.15
|
24
|
+
opengeode-io==7.0.7
|
25
|
+
referencing==0.35.1
|
26
|
+
rpds-py==0.21.0
|
27
|
+
typing-extensions==4.12.2
|
28
|
+
werkzeug==3.1.3
|
{opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/geode_functions.py
RENAMED
@@ -76,8 +76,8 @@ def create_crs(
|
|
76
76
|
)
|
77
77
|
|
78
78
|
|
79
|
-
def
|
80
|
-
return geode_object_value(geode_object)["
|
79
|
+
def get_object_type(geode_object: str):
|
80
|
+
return geode_object_value(geode_object)["object_type"]
|
81
81
|
|
82
82
|
|
83
83
|
def is_3D(geode_object: str):
|
{opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/geode_objects.py
RENAMED
@@ -1,3 +1,6 @@
|
|
1
|
+
# Standard library imports
|
2
|
+
|
3
|
+
# Third party imports
|
1
4
|
import opengeode as og
|
2
5
|
import opengeode_io as og_io
|
3
6
|
import opengeode_inspector as og_inspector
|
@@ -5,6 +8,8 @@ import opengeode_geosciences as og_gs
|
|
5
8
|
import opengeode_geosciencesio as og_gs_io
|
6
9
|
import geode_viewables as g_v
|
7
10
|
|
11
|
+
# Local application imports
|
12
|
+
|
8
13
|
|
9
14
|
def geode_objects_dict():
|
10
15
|
return {
|
@@ -23,7 +28,7 @@ def geode_objects_dict():
|
|
23
28
|
"convert": og_gs.convert_brep_coordinate_reference_system,
|
24
29
|
"create": og.create_brep_coordinate_system,
|
25
30
|
},
|
26
|
-
"
|
31
|
+
"object_type": "model",
|
27
32
|
"is_3D": True,
|
28
33
|
"is_viewable": True,
|
29
34
|
"save_viewable": g_v.save_viewable_brep,
|
@@ -45,7 +50,7 @@ def geode_objects_dict():
|
|
45
50
|
"convert": og_gs.convert_section_coordinate_reference_system,
|
46
51
|
"create": og.create_section_coordinate_system,
|
47
52
|
},
|
48
|
-
"
|
53
|
+
"object_type": "model",
|
49
54
|
"is_3D": False,
|
50
55
|
"is_viewable": True,
|
51
56
|
"save_viewable": g_v.save_viewable_cross_section,
|
@@ -66,7 +71,7 @@ def geode_objects_dict():
|
|
66
71
|
"convert": og_gs.convert_edged_curve_coordinate_reference_system2D,
|
67
72
|
"create": og.create_edged_curve_coordinate_system2D,
|
68
73
|
},
|
69
|
-
"
|
74
|
+
"object_type": "mesh",
|
70
75
|
"is_3D": False,
|
71
76
|
"is_viewable": True,
|
72
77
|
"save_viewable": g_v.save_viewable_edged_curve2D,
|
@@ -87,7 +92,7 @@ def geode_objects_dict():
|
|
87
92
|
"convert": og_gs.convert_edged_curve_coordinate_reference_system3D,
|
88
93
|
"create": og.create_edged_curve_coordinate_system3D,
|
89
94
|
},
|
90
|
-
"
|
95
|
+
"object_type": "mesh",
|
91
96
|
"is_3D": True,
|
92
97
|
"is_viewable": True,
|
93
98
|
"save_viewable": g_v.save_viewable_edged_curve3D,
|
@@ -103,7 +108,7 @@ def geode_objects_dict():
|
|
103
108
|
"is_saveable": og.is_graph_saveable,
|
104
109
|
"save": og.save_graph,
|
105
110
|
"builder": og.GraphBuilder.create,
|
106
|
-
"
|
111
|
+
"object_type": "mesh",
|
107
112
|
"is_3D": False,
|
108
113
|
"is_viewable": True,
|
109
114
|
},
|
@@ -122,7 +127,7 @@ def geode_objects_dict():
|
|
122
127
|
"convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
|
123
128
|
"create": og.create_solid_mesh_coordinate_system3D,
|
124
129
|
},
|
125
|
-
"
|
130
|
+
"object_type": "mesh",
|
126
131
|
"is_3D": True,
|
127
132
|
"is_viewable": True,
|
128
133
|
"save_viewable": g_v.save_viewable_hybrid_solid3D,
|
@@ -144,7 +149,7 @@ def geode_objects_dict():
|
|
144
149
|
"convert": og_gs.convert_section_coordinate_reference_system,
|
145
150
|
"create": og.create_section_coordinate_system,
|
146
151
|
},
|
147
|
-
"
|
152
|
+
"object_type": "model",
|
148
153
|
"is_3D": False,
|
149
154
|
"is_viewable": True,
|
150
155
|
"save_viewable": g_v.save_viewable_implicit_cross_section,
|
@@ -166,7 +171,7 @@ def geode_objects_dict():
|
|
166
171
|
"convert": og_gs.convert_brep_coordinate_reference_system,
|
167
172
|
"create": og.create_brep_coordinate_system,
|
168
173
|
},
|
169
|
-
"
|
174
|
+
"object_type": "model",
|
170
175
|
"is_3D": True,
|
171
176
|
"is_viewable": True,
|
172
177
|
"save_viewable": g_v.save_viewable_implicit_structural_model,
|
@@ -181,7 +186,7 @@ def geode_objects_dict():
|
|
181
186
|
"load": og.load_light_regular_grid2D,
|
182
187
|
"is_saveable": og.is_light_regular_grid_saveable2D,
|
183
188
|
"save": og.save_light_regular_grid2D,
|
184
|
-
"
|
189
|
+
"object_type": "mesh",
|
185
190
|
"is_3D": False,
|
186
191
|
"is_viewable": True,
|
187
192
|
"save_viewable": g_v.save_viewable_light_regular_grid2D,
|
@@ -195,7 +200,7 @@ def geode_objects_dict():
|
|
195
200
|
"load": og.load_light_regular_grid3D,
|
196
201
|
"is_saveable": og.is_light_regular_grid_saveable3D,
|
197
202
|
"save": og.save_light_regular_grid3D,
|
198
|
-
"
|
203
|
+
"object_type": "mesh",
|
199
204
|
"is_3D": True,
|
200
205
|
"is_viewable": True,
|
201
206
|
"save_viewable": g_v.save_viewable_light_regular_grid3D,
|
@@ -215,7 +220,7 @@ def geode_objects_dict():
|
|
215
220
|
"convert": og_gs.convert_point_set_coordinate_reference_system2D,
|
216
221
|
"create": og.create_point_set_coordinate_system2D,
|
217
222
|
},
|
218
|
-
"
|
223
|
+
"object_type": "mesh",
|
219
224
|
"is_3D": False,
|
220
225
|
"is_viewable": True,
|
221
226
|
"save_viewable": g_v.save_viewable_point_set2D,
|
@@ -236,7 +241,7 @@ def geode_objects_dict():
|
|
236
241
|
"convert": og_gs.convert_point_set_coordinate_reference_system3D,
|
237
242
|
"create": og.create_point_set_coordinate_system3D,
|
238
243
|
},
|
239
|
-
"
|
244
|
+
"object_type": "mesh",
|
240
245
|
"is_3D": True,
|
241
246
|
"is_viewable": True,
|
242
247
|
"save_viewable": g_v.save_viewable_point_set3D,
|
@@ -257,7 +262,7 @@ def geode_objects_dict():
|
|
257
262
|
"convert": og_gs.convert_surface_mesh_coordinate_reference_system2D,
|
258
263
|
"create": og.create_surface_mesh_coordinate_system2D,
|
259
264
|
},
|
260
|
-
"
|
265
|
+
"object_type": "mesh",
|
261
266
|
"is_3D": False,
|
262
267
|
"is_viewable": True,
|
263
268
|
"save_viewable": g_v.save_viewable_polygonal_surface2D,
|
@@ -278,7 +283,7 @@ def geode_objects_dict():
|
|
278
283
|
"convert": og_gs.convert_surface_mesh_coordinate_reference_system3D,
|
279
284
|
"create": og.create_surface_mesh_coordinate_system3D,
|
280
285
|
},
|
281
|
-
"
|
286
|
+
"object_type": "mesh",
|
282
287
|
"is_3D": True,
|
283
288
|
"is_viewable": True,
|
284
289
|
"save_viewable": g_v.save_viewable_polygonal_surface3D,
|
@@ -299,7 +304,7 @@ def geode_objects_dict():
|
|
299
304
|
"convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
|
300
305
|
"create": og.create_solid_mesh_coordinate_system3D,
|
301
306
|
},
|
302
|
-
"
|
307
|
+
"object_type": "mesh",
|
303
308
|
"is_3D": True,
|
304
309
|
"is_viewable": True,
|
305
310
|
"save_viewable": g_v.save_viewable_polyhedral_solid3D,
|
@@ -314,7 +319,7 @@ def geode_objects_dict():
|
|
314
319
|
"load": og.load_raster_image2D,
|
315
320
|
"is_saveable": og.is_raster_image_saveable2D,
|
316
321
|
"save": og.save_raster_image2D,
|
317
|
-
"
|
322
|
+
"object_type": "mesh",
|
318
323
|
"is_3D": False,
|
319
324
|
"is_viewable": False,
|
320
325
|
"save_viewable": g_v.save_viewable_raster_image2D,
|
@@ -328,7 +333,7 @@ def geode_objects_dict():
|
|
328
333
|
"load": og.load_raster_image3D,
|
329
334
|
"is_saveable": og.is_raster_image_saveable3D,
|
330
335
|
"save": og.save_raster_image3D,
|
331
|
-
"
|
336
|
+
"object_type": "mesh",
|
332
337
|
"is_3D": False,
|
333
338
|
"is_viewable": False,
|
334
339
|
"save_viewable": g_v.save_viewable_raster_image3D,
|
@@ -348,7 +353,7 @@ def geode_objects_dict():
|
|
348
353
|
"convert": og_gs.convert_surface_mesh_coordinate_reference_system2D,
|
349
354
|
"create": og.create_surface_mesh_coordinate_system2D,
|
350
355
|
},
|
351
|
-
"
|
356
|
+
"object_type": "mesh",
|
352
357
|
"is_3D": False,
|
353
358
|
"is_viewable": True,
|
354
359
|
"save_viewable": g_v.save_viewable_regular_grid2D,
|
@@ -368,7 +373,7 @@ def geode_objects_dict():
|
|
368
373
|
"convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
|
369
374
|
"create": og.create_surface_mesh_coordinate_system3D,
|
370
375
|
},
|
371
|
-
"
|
376
|
+
"object_type": "mesh",
|
372
377
|
"is_3D": True,
|
373
378
|
"is_viewable": True,
|
374
379
|
"save_viewable": g_v.save_viewable_regular_grid3D,
|
@@ -388,7 +393,7 @@ def geode_objects_dict():
|
|
388
393
|
"convert": og_gs.convert_section_coordinate_reference_system,
|
389
394
|
"create": og.create_section_coordinate_system,
|
390
395
|
},
|
391
|
-
"
|
396
|
+
"object_type": "model",
|
392
397
|
"is_3D": False,
|
393
398
|
"is_viewable": True,
|
394
399
|
"save_viewable": g_v.save_viewable_section,
|
@@ -410,7 +415,7 @@ def geode_objects_dict():
|
|
410
415
|
"convert": og_gs.convert_brep_coordinate_reference_system,
|
411
416
|
"create": og.create_brep_coordinate_system,
|
412
417
|
},
|
413
|
-
"
|
418
|
+
"object_type": "model",
|
414
419
|
"is_3D": True,
|
415
420
|
"is_viewable": True,
|
416
421
|
"save_viewable": g_v.save_viewable_structural_model,
|
@@ -431,7 +436,7 @@ def geode_objects_dict():
|
|
431
436
|
"convert": og_gs.convert_solid_mesh_coordinate_reference_system3D,
|
432
437
|
"create": og.create_solid_mesh_coordinate_system3D,
|
433
438
|
},
|
434
|
-
"
|
439
|
+
"object_type": "mesh",
|
435
440
|
"is_3D": True,
|
436
441
|
"is_viewable": True,
|
437
442
|
"save_viewable": g_v.save_viewable_tetrahedral_solid3D,
|
@@ -452,7 +457,7 @@ def geode_objects_dict():
|
|
452
457
|
"convert": og_gs.convert_surface_mesh_coordinate_reference_system2D,
|
453
458
|
"create": og.create_surface_mesh_coordinate_system2D,
|
454
459
|
},
|
455
|
-
"
|
460
|
+
"object_type": "mesh",
|
456
461
|
"is_3D": False,
|
457
462
|
"is_viewable": True,
|
458
463
|
"save_viewable": g_v.save_viewable_triangulated_surface2D,
|
@@ -473,7 +478,7 @@ def geode_objects_dict():
|
|
473
478
|
"convert": og_gs.convert_surface_mesh_coordinate_reference_system3D,
|
474
479
|
"create": og.create_surface_mesh_coordinate_system3D,
|
475
480
|
},
|
476
|
-
"
|
481
|
+
"object_type": "mesh",
|
477
482
|
"is_3D": True,
|
478
483
|
"is_viewable": True,
|
479
484
|
"save_viewable": g_v.save_viewable_triangulated_surface3D,
|
@@ -489,7 +494,7 @@ def geode_objects_dict():
|
|
489
494
|
"is_saveable": og.is_vertex_set_saveable,
|
490
495
|
"save": og.save_vertex_set,
|
491
496
|
"builder": og.VertexSetBuilder.create,
|
492
|
-
"
|
497
|
+
"object_type": "mesh",
|
493
498
|
"is_3D": False,
|
494
499
|
"is_viewable": False,
|
495
500
|
},
|
@@ -260,6 +260,9 @@ def save_viewable_file():
|
|
260
260
|
DATA_FOLDER_PATH,
|
261
261
|
generated_id + "." + native_extension,
|
262
262
|
)
|
263
|
+
object_type = geode_functions.get_object_type(
|
264
|
+
flask.request.json["input_geode_object"]
|
265
|
+
)
|
263
266
|
|
264
267
|
native_file_name = os.path.basename(absolute_native_file_path)
|
265
268
|
viewable_file_name = os.path.basename(saved_viewable_file_path)
|
@@ -269,6 +272,7 @@ def save_viewable_file():
|
|
269
272
|
"native_file_name": native_file_name,
|
270
273
|
"viewable_file_name": viewable_file_name,
|
271
274
|
"id": generated_id,
|
275
|
+
"object_type": object_type,
|
272
276
|
},
|
273
277
|
200,
|
274
278
|
)
|
@@ -304,6 +308,68 @@ def create_point():
|
|
304
308
|
)
|
305
309
|
|
306
310
|
|
311
|
+
with open(
|
312
|
+
os.path.join(schemas, "vertex_attribute_names.json"),
|
313
|
+
"r",
|
314
|
+
) as file:
|
315
|
+
vertex_attribute_names_json = json.load(file)
|
316
|
+
|
317
|
+
|
318
|
+
@routes.route(
|
319
|
+
vertex_attribute_names_json["route"],
|
320
|
+
methods=vertex_attribute_names_json["methods"],
|
321
|
+
)
|
322
|
+
def vertex_attribute_names():
|
323
|
+
|
324
|
+
UPLOAD_FOLDER = flask.current_app.config["UPLOAD_FOLDER"]
|
325
|
+
utils_functions.validate_request(flask.request, vertex_attribute_names_json)
|
326
|
+
file_absolute_path = os.path.join(
|
327
|
+
UPLOAD_FOLDER, werkzeug.utils.secure_filename(flask.request.json["filename"])
|
328
|
+
)
|
329
|
+
data = geode_functions.load(
|
330
|
+
flask.request.json["input_geode_object"], file_absolute_path
|
331
|
+
)
|
332
|
+
vertex_attribute_names = data.vertex_attribute_manager().attribute_names()
|
333
|
+
|
334
|
+
return flask.make_response(
|
335
|
+
{
|
336
|
+
"vertex_attribute_names": vertex_attribute_names,
|
337
|
+
},
|
338
|
+
200,
|
339
|
+
)
|
340
|
+
|
341
|
+
|
342
|
+
with open(
|
343
|
+
os.path.join(schemas, "polygon_attribute_names.json"),
|
344
|
+
"r",
|
345
|
+
) as file:
|
346
|
+
polygon_attribute_names_json = json.load(file)
|
347
|
+
|
348
|
+
|
349
|
+
@routes.route(
|
350
|
+
polygon_attribute_names_json["route"],
|
351
|
+
methods=polygon_attribute_names_json["methods"],
|
352
|
+
)
|
353
|
+
def polygon_attribute_names():
|
354
|
+
|
355
|
+
UPLOAD_FOLDER = flask.current_app.config["UPLOAD_FOLDER"]
|
356
|
+
utils_functions.validate_request(flask.request, vertex_attribute_names_json)
|
357
|
+
file_absolute_path = os.path.join(
|
358
|
+
UPLOAD_FOLDER, werkzeug.utils.secure_filename(flask.request.json["filename"])
|
359
|
+
)
|
360
|
+
data = geode_functions.load(
|
361
|
+
flask.request.json["input_geode_object"], file_absolute_path
|
362
|
+
)
|
363
|
+
polygon_attribute_names = data.polygon_attribute_manager().attribute_names()
|
364
|
+
|
365
|
+
return flask.make_response(
|
366
|
+
{
|
367
|
+
"polygon_attribute_names": polygon_attribute_names,
|
368
|
+
},
|
369
|
+
200,
|
370
|
+
)
|
371
|
+
|
372
|
+
|
307
373
|
with open(
|
308
374
|
os.path.join(schemas, "ping.json"),
|
309
375
|
"r",
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"route": "/polygon_attribute_names",
|
3
|
+
"methods": ["POST"],
|
4
|
+
"type": "object",
|
5
|
+
"properties": {
|
6
|
+
"input_geode_object": {
|
7
|
+
"type": "string"
|
8
|
+
},
|
9
|
+
"filename": {
|
10
|
+
"type": "string"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"required": ["input_geode_object", "filename"],
|
14
|
+
"additionalProperties": false
|
15
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"route": "/vertex_attribute_names",
|
3
|
+
"methods": ["POST"],
|
4
|
+
"type": "object",
|
5
|
+
"properties": {
|
6
|
+
"input_geode_object": {
|
7
|
+
"type": "string"
|
8
|
+
},
|
9
|
+
"filename": {
|
10
|
+
"type": "string"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"required": ["input_geode_object", "filename"],
|
14
|
+
"additionalProperties": false
|
15
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Standard library imports
|
2
|
+
|
3
|
+
# Third party imports
|
4
|
+
|
5
|
+
# Local application imports
|
6
|
+
|
7
|
+
|
8
|
+
def test_route_wrong_params(client, route, get_full_data):
|
9
|
+
for key, value in get_full_data().items():
|
10
|
+
json = get_full_data()
|
11
|
+
json.pop(key)
|
12
|
+
response = client.post(route, json=json)
|
13
|
+
assert response.status_code == 400
|
14
|
+
error_description = response.json["description"]
|
15
|
+
assert error_description == f"Validation error: '{key}' is a required property"
|
16
|
+
|
17
|
+
json = get_full_data()
|
18
|
+
json["dumb_key"] = "dumb_value"
|
19
|
+
response = client.post(route, json=json)
|
20
|
+
assert response.status_code == 400
|
21
|
+
error_description = response.json["description"]
|
22
|
+
assert (
|
23
|
+
error_description
|
24
|
+
== "Validation error: Additional properties are not allowed ('dumb_key' was unexpected)"
|
25
|
+
)
|
@@ -1,5 +1,10 @@
|
|
1
|
+
# Standard library imports
|
1
2
|
import os
|
2
3
|
import uuid
|
4
|
+
|
5
|
+
# Third party imports
|
6
|
+
|
7
|
+
# Local application imports
|
3
8
|
from src.opengeodeweb_back import geode_functions, geode_objects
|
4
9
|
|
5
10
|
|
@@ -120,10 +125,11 @@ def test_load():
|
|
120
125
|
os.remove(saved_file)
|
121
126
|
|
122
127
|
|
123
|
-
def
|
128
|
+
def test_get_object_type():
|
124
129
|
for geode_object, value in geode_objects.geode_objects_dict().items():
|
125
|
-
|
126
|
-
assert type(
|
130
|
+
object_type = geode_functions.get_object_type(geode_object)
|
131
|
+
assert type(object_type) is str
|
132
|
+
assert object_type in ["model", "mesh"]
|
127
133
|
|
128
134
|
|
129
135
|
def test_is_3D():
|
@@ -1,17 +1,28 @@
|
|
1
|
-
|
1
|
+
# Standard library imports
|
2
2
|
import base64
|
3
|
+
import os
|
4
|
+
|
5
|
+
# Third party imports
|
3
6
|
from werkzeug.datastructures import FileStorage
|
4
7
|
|
8
|
+
# Local application imports
|
9
|
+
from src.opengeodeweb_back import test_utils
|
10
|
+
|
5
11
|
|
6
12
|
def test_allowed_files(client):
|
7
13
|
route = f"/allowed_files"
|
8
|
-
|
14
|
+
get_full_data = lambda: {"supported_feature": "None"}
|
15
|
+
json = get_full_data()
|
16
|
+
response = client.post(route, json=json)
|
9
17
|
assert response.status_code == 200
|
10
18
|
extensions = response.json["extensions"]
|
11
19
|
assert type(extensions) is list
|
12
20
|
for extension in extensions:
|
13
21
|
assert type(extension) is str
|
14
22
|
|
23
|
+
# Test all params
|
24
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
25
|
+
|
15
26
|
|
16
27
|
def test_allowed_objects(client):
|
17
28
|
route = f"/allowed_objects"
|
@@ -30,13 +41,8 @@ def test_allowed_objects(client):
|
|
30
41
|
for allowed_object in allowed_objects:
|
31
42
|
assert type(allowed_object) is str
|
32
43
|
|
33
|
-
|
34
|
-
|
35
|
-
json.pop(key)
|
36
|
-
response = client.post(route, json=json)
|
37
|
-
assert response.status_code == 400
|
38
|
-
error_description = response.json["description"]
|
39
|
-
assert error_description == f"Validation error: '{key}' is a required property"
|
44
|
+
# Test all params
|
45
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
40
46
|
|
41
47
|
|
42
48
|
def test_upload_file(client):
|
@@ -58,11 +64,7 @@ def test_missing_files(client):
|
|
58
64
|
}
|
59
65
|
|
60
66
|
json = get_full_data()
|
61
|
-
response = client.post(
|
62
|
-
route,
|
63
|
-
json=json,
|
64
|
-
)
|
65
|
-
|
67
|
+
response = client.post(route, json=json)
|
66
68
|
assert response.status_code == 200
|
67
69
|
has_missing_files = response.json["has_missing_files"]
|
68
70
|
mandatory_files = response.json["mandatory_files"]
|
@@ -71,33 +73,23 @@ def test_missing_files(client):
|
|
71
73
|
assert type(mandatory_files) is list
|
72
74
|
assert type(additional_files) is list
|
73
75
|
|
74
|
-
|
75
|
-
|
76
|
-
json.pop(key)
|
77
|
-
response = client.post(route, json=json)
|
78
|
-
assert response.status_code == 400
|
79
|
-
error_description = response.json["description"]
|
80
|
-
assert error_description == f"Validation error: '{key}' is a required property"
|
76
|
+
# Test all params
|
77
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
81
78
|
|
82
79
|
|
83
80
|
def test_geographic_coordinate_systems(client):
|
84
81
|
route = f"/geographic_coordinate_systems"
|
85
|
-
|
82
|
+
get_full_data = lambda: {"input_geode_object": "BRep"}
|
86
83
|
# Normal test with geode_object 'BRep'
|
87
|
-
response = client.post(route, json=
|
84
|
+
response = client.post(route, json=get_full_data())
|
88
85
|
assert response.status_code == 200
|
89
86
|
crs_list = response.json["crs_list"]
|
90
87
|
assert type(crs_list) is list
|
91
88
|
for crs in crs_list:
|
92
89
|
assert type(crs) is dict
|
93
90
|
|
94
|
-
# Test
|
95
|
-
|
96
|
-
assert response.status_code == 400
|
97
|
-
error_message = response.json["description"]
|
98
|
-
assert (
|
99
|
-
error_message == "Validation error: 'input_geode_object' is a required property"
|
100
|
-
)
|
91
|
+
# Test all params
|
92
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
101
93
|
|
102
94
|
|
103
95
|
def test_inspect_file(client):
|
@@ -117,13 +109,8 @@ def test_inspect_file(client):
|
|
117
109
|
inspection_result = response.json["inspection_result"]
|
118
110
|
assert type(inspection_result) is dict
|
119
111
|
|
120
|
-
|
121
|
-
|
122
|
-
json.pop(key)
|
123
|
-
response = client.post(route, json=json)
|
124
|
-
assert response.status_code == 400
|
125
|
-
error_description = response.json["description"]
|
126
|
-
assert error_description == f"Validation error: '{key}' is a required property"
|
112
|
+
# Test all params
|
113
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
127
114
|
|
128
115
|
|
129
116
|
def test_geode_objects_and_output_extensions(client):
|
@@ -148,13 +135,8 @@ def test_geode_objects_and_output_extensions(client):
|
|
148
135
|
assert type(value) is dict
|
149
136
|
assert type(value["is_saveable"]) is bool
|
150
137
|
|
151
|
-
# Test
|
152
|
-
|
153
|
-
assert response.status_code == 400
|
154
|
-
error_message = response.json["description"]
|
155
|
-
assert (
|
156
|
-
error_message == "Validation error: 'input_geode_object' is a required property"
|
157
|
-
)
|
138
|
+
# Test all params
|
139
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
158
140
|
|
159
141
|
|
160
142
|
def test_save_viewable_file(client):
|
@@ -177,21 +159,70 @@ def test_save_viewable_file(client):
|
|
177
159
|
assert type(viewable_file_name) is str
|
178
160
|
id = response.json["id"]
|
179
161
|
assert type(id) is str
|
162
|
+
object_type = response.json["object_type"]
|
163
|
+
assert type(object_type) is str
|
164
|
+
assert object_type in ["model", "mesh"]
|
180
165
|
|
181
|
-
|
182
|
-
|
183
|
-
json.pop(key)
|
184
|
-
response = client.post(route, json=json)
|
185
|
-
assert response.status_code == 400
|
186
|
-
error_description = response.json["description"]
|
187
|
-
assert error_description == f"Validation error: '{key}' is a required property"
|
166
|
+
# Test all params
|
167
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
188
168
|
|
189
169
|
|
190
|
-
def
|
191
|
-
|
170
|
+
def test_vertex_attribute_names(client):
|
171
|
+
response = client.put(
|
172
|
+
f"/upload_file",
|
173
|
+
data={"file": FileStorage(open("./tests/vertex_attribute.vtp", "rb"))},
|
174
|
+
)
|
175
|
+
assert response.status_code == 201
|
176
|
+
|
177
|
+
route = f"/vertex_attribute_names"
|
178
|
+
|
179
|
+
def get_full_data():
|
180
|
+
return {
|
181
|
+
"input_geode_object": "PolygonalSurface3D",
|
182
|
+
"filename": "vertex_attribute.vtp",
|
183
|
+
}
|
184
|
+
|
185
|
+
# Normal test with filename 'vertex_attribute.vtp'
|
186
|
+
response = client.post(route, json=get_full_data())
|
187
|
+
assert response.status_code == 200
|
188
|
+
vertex_attribute_names = response.json["vertex_attribute_names"]
|
189
|
+
assert type(vertex_attribute_names) is list
|
190
|
+
for vertex_attribute_name in vertex_attribute_names:
|
191
|
+
assert type(vertex_attribute_name) is str
|
192
|
+
|
193
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
194
|
+
|
195
|
+
|
196
|
+
def test_polygon_attribute_names(client):
|
197
|
+
response = client.put(
|
198
|
+
f"/upload_file",
|
199
|
+
data={"file": FileStorage(open("./tests/polygon_attribute.vtp", "rb"))},
|
200
|
+
)
|
201
|
+
assert response.status_code == 201
|
202
|
+
|
203
|
+
route = f"/polygon_attribute_names"
|
192
204
|
|
193
205
|
def get_full_data():
|
194
|
-
return {
|
206
|
+
return {
|
207
|
+
"input_geode_object": "PolygonalSurface3D",
|
208
|
+
"filename": "polygon_attribute.vtp",
|
209
|
+
}
|
210
|
+
|
211
|
+
# Normal test with filename 'vertex_attribute.vtp'
|
212
|
+
response = client.post(route, json=get_full_data())
|
213
|
+
assert response.status_code == 200
|
214
|
+
polygon_attribute_names = response.json["polygon_attribute_names"]
|
215
|
+
assert type(polygon_attribute_names) is list
|
216
|
+
for polygon_attribute_name in polygon_attribute_names:
|
217
|
+
assert type(polygon_attribute_name) is str
|
218
|
+
|
219
|
+
# Test all params
|
220
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
221
|
+
|
222
|
+
|
223
|
+
def test_create_point(client):
|
224
|
+
route = f"/create_point"
|
225
|
+
get_full_data = lambda: {"x": 1, "y": 2, "z": 3}
|
195
226
|
|
196
227
|
# Normal test with all keys
|
197
228
|
response = client.post(route, json=get_full_data())
|
@@ -201,10 +232,5 @@ def test_create_point(client):
|
|
201
232
|
id = response.json["id"]
|
202
233
|
assert type(id) is str
|
203
234
|
|
204
|
-
|
205
|
-
|
206
|
-
json.pop(key)
|
207
|
-
response = client.post(route, json=json)
|
208
|
-
assert response.status_code == 400
|
209
|
-
error_description = response.json["description"]
|
210
|
-
assert error_description == f"Validation error: '{key}' is a required property"
|
235
|
+
# Test all params
|
236
|
+
test_utils.test_route_wrong_params(client, route, get_full_data)
|
@@ -1,28 +0,0 @@
|
|
1
|
-
asgiref==3.8.1
|
2
|
-
attrs==24.2.0
|
3
|
-
blinker==1.8.2
|
4
|
-
click==8.1.7
|
5
|
-
flask[async]==3.0.3
|
6
|
-
flask-cors==5.0.0
|
7
|
-
geode-background==8.7.0
|
8
|
-
geode-common==33.0.9
|
9
|
-
geode-conversion==6.0.14
|
10
|
-
geode-explicit==6.1.14
|
11
|
-
geode-implicit==3.3.2
|
12
|
-
geode-numerics==5.1.8
|
13
|
-
geode-simplex==8.2.15
|
14
|
-
geode-viewables==3.0.6
|
15
|
-
itsdangerous==2.2.0
|
16
|
-
jinja2==3.1.4
|
17
|
-
jsonschema==4.23.0
|
18
|
-
jsonschema-specifications==2024.10.1
|
19
|
-
markupsafe==3.0.2
|
20
|
-
opengeode-core==15.6.3
|
21
|
-
opengeode-geosciences==8.1.1
|
22
|
-
opengeode-geosciencesio==5.2.3
|
23
|
-
opengeode-inspector==6.1.12
|
24
|
-
opengeode-io==7.0.5
|
25
|
-
referencing==0.35.1
|
26
|
-
rpds-py==0.21.0
|
27
|
-
typing-extensions==4.12.2
|
28
|
-
werkzeug==3.1.2
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/app_config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{opengeodeweb_back-5.4.0rc1 → opengeodeweb_back-5.4.0rc3}/src/opengeodeweb_back/utils_functions.py
RENAMED
File without changes
|