OpenGeodeWeb-Back 5.5.1rc1__tar.gz → 5.6.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.
Files changed (35) hide show
  1. {opengeodeweb_back-5.5.1rc1/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-5.6.0}/PKG-INFO +7 -7
  2. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/pyproject.toml +1 -1
  3. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/requirements.txt +7 -6
  4. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +7 -7
  5. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +1 -0
  6. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/OpenGeodeWeb_Back.egg-info/requires.txt +6 -6
  7. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/blueprint_routes.py +35 -1
  8. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/create_point.json +4 -0
  9. opengeodeweb_back-5.6.0/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +24 -0
  10. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/tests/test_routes.py +16 -1
  11. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/LICENSE +0 -0
  12. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/README.md +0 -0
  13. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/setup.cfg +0 -0
  14. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
  15. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
  16. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/__init__.py +0 -0
  17. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/app_config.py +0 -0
  18. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/geode_functions.py +0 -0
  19. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/geode_objects.py +0 -0
  20. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
  21. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
  22. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
  23. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
  24. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
  25. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
  26. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
  27. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
  28. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
  29. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
  30. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
  31. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
  32. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/test_utils.py +0 -0
  33. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/src/opengeodeweb_back/utils_functions.py +0 -0
  34. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/tests/test_geode_functions.py +0 -0
  35. {opengeodeweb_back-5.5.1rc1 → opengeodeweb_back-5.6.0}/tests/test_utils_functions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.5.1rc1
3
+ Version: 5.6.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
@@ -16,27 +16,27 @@ Requires-Dist: attrs==25.1.0
16
16
  Requires-Dist: blinker==1.9.0
17
17
  Requires-Dist: click==8.1.8
18
18
  Requires-Dist: flask[async]==3.1.0
19
- Requires-Dist: flask-cors==5.0.0
20
- Requires-Dist: geode-background==8.9.3
19
+ Requires-Dist: flask-cors==5.0.1
20
+ Requires-Dist: geode-background==8.9.4
21
21
  Requires-Dist: geode-common==33.5.0
22
- Requires-Dist: geode-conversion==6.1.5
22
+ Requires-Dist: geode-conversion==6.1.6
23
23
  Requires-Dist: geode-explicit==6.1.28
24
24
  Requires-Dist: geode-implicit==3.5.2
25
25
  Requires-Dist: geode-numerics==5.2.5
26
- Requires-Dist: geode-simplex==9.0.10
26
+ Requires-Dist: geode-simplex==9.0.11
27
27
  Requires-Dist: geode-viewables==3.0.10
28
28
  Requires-Dist: itsdangerous==2.2.0
29
29
  Requires-Dist: jinja2==3.1.5
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.10.1
33
+ Requires-Dist: opengeode-core==15.12.0
34
34
  Requires-Dist: opengeode-geosciences==8.2.2
35
35
  Requires-Dist: opengeode-geosciencesio==5.3.6
36
36
  Requires-Dist: opengeode-inspector==6.3.7
37
37
  Requires-Dist: opengeode-io==7.1.0
38
38
  Requires-Dist: referencing==0.36.2
39
- Requires-Dist: rpds-py==0.22.3
39
+ Requires-Dist: rpds-py==0.23.1
40
40
  Requires-Dist: typing-extensions==4.12.2
41
41
  Requires-Dist: werkzeug==3.1.3
42
42
 
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "OpenGeodeWeb-Back"
8
- version = "5.5.1-rc.1"
8
+ version = "5.6.0"
9
9
  dynamic = ["dependencies"]
10
10
  authors = [
11
11
  { name="Geode-solutions", email="team-web@geode-solutions.com" },
@@ -18,9 +18,9 @@ flask[async]==3.1.0
18
18
  # via
19
19
  # -r requirements.in
20
20
  # flask-cors
21
- flask-cors==5.0.0
21
+ flask-cors==5.0.1
22
22
  # via -r requirements.in
23
- geode-background==8.9.3
23
+ geode-background==8.9.4
24
24
  # via
25
25
  # geode-explicit
26
26
  # geode-implicit
@@ -35,7 +35,7 @@ geode-common==33.5.0
35
35
  # geode-numerics
36
36
  # geode-simplex
37
37
  # geode-viewables
38
- geode-conversion==6.1.5
38
+ geode-conversion==6.1.6
39
39
  # via
40
40
  # geode-explicit
41
41
  # geode-implicit
@@ -51,7 +51,7 @@ geode-numerics==5.2.5
51
51
  # -r requirements.in
52
52
  # geode-implicit
53
53
  # geode-simplex
54
- geode-simplex==9.0.10
54
+ geode-simplex==9.0.11
55
55
  # via
56
56
  # -r requirements.in
57
57
  # geode-implicit
@@ -69,7 +69,7 @@ markupsafe==3.0.2
69
69
  # via
70
70
  # jinja2
71
71
  # werkzeug
72
- opengeode-core==15.10.1
72
+ opengeode-core==15.12.0
73
73
  # via
74
74
  # -r requirements.in
75
75
  # geode-background
@@ -110,7 +110,7 @@ referencing==0.36.2
110
110
  # via
111
111
  # jsonschema
112
112
  # jsonschema-specifications
113
- rpds-py==0.22.3
113
+ rpds-py==0.23.1
114
114
  # via
115
115
  # jsonschema
116
116
  # referencing
@@ -122,3 +122,4 @@ werkzeug==3.1.3
122
122
  # via
123
123
  # -r requirements.in
124
124
  # flask
125
+ # flask-cors
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 5.5.1rc1
3
+ Version: 5.6.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
@@ -16,27 +16,27 @@ Requires-Dist: attrs==25.1.0
16
16
  Requires-Dist: blinker==1.9.0
17
17
  Requires-Dist: click==8.1.8
18
18
  Requires-Dist: flask[async]==3.1.0
19
- Requires-Dist: flask-cors==5.0.0
20
- Requires-Dist: geode-background==8.9.3
19
+ Requires-Dist: flask-cors==5.0.1
20
+ Requires-Dist: geode-background==8.9.4
21
21
  Requires-Dist: geode-common==33.5.0
22
- Requires-Dist: geode-conversion==6.1.5
22
+ Requires-Dist: geode-conversion==6.1.6
23
23
  Requires-Dist: geode-explicit==6.1.28
24
24
  Requires-Dist: geode-implicit==3.5.2
25
25
  Requires-Dist: geode-numerics==5.2.5
26
- Requires-Dist: geode-simplex==9.0.10
26
+ Requires-Dist: geode-simplex==9.0.11
27
27
  Requires-Dist: geode-viewables==3.0.10
28
28
  Requires-Dist: itsdangerous==2.2.0
29
29
  Requires-Dist: jinja2==3.1.5
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.10.1
33
+ Requires-Dist: opengeode-core==15.12.0
34
34
  Requires-Dist: opengeode-geosciences==8.2.2
35
35
  Requires-Dist: opengeode-geosciencesio==5.3.6
36
36
  Requires-Dist: opengeode-inspector==6.3.7
37
37
  Requires-Dist: opengeode-io==7.1.0
38
38
  Requires-Dist: referencing==0.36.2
39
- Requires-Dist: rpds-py==0.22.3
39
+ Requires-Dist: rpds-py==0.23.1
40
40
  Requires-Dist: typing-extensions==4.12.2
41
41
  Requires-Dist: werkzeug==3.1.3
42
42
 
@@ -25,6 +25,7 @@ src/opengeodeweb_back/routes/schemas/ping.json
25
25
  src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json
26
26
  src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json
27
27
  src/opengeodeweb_back/routes/schemas/save_viewable_file.json
28
+ src/opengeodeweb_back/routes/schemas/texture_coordinates.json
28
29
  src/opengeodeweb_back/routes/schemas/upload_file.json
29
30
  src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json
30
31
  tests/test_geode_functions.py
@@ -3,26 +3,26 @@ attrs==25.1.0
3
3
  blinker==1.9.0
4
4
  click==8.1.8
5
5
  flask[async]==3.1.0
6
- flask-cors==5.0.0
7
- geode-background==8.9.3
6
+ flask-cors==5.0.1
7
+ geode-background==8.9.4
8
8
  geode-common==33.5.0
9
- geode-conversion==6.1.5
9
+ geode-conversion==6.1.6
10
10
  geode-explicit==6.1.28
11
11
  geode-implicit==3.5.2
12
12
  geode-numerics==5.2.5
13
- geode-simplex==9.0.10
13
+ geode-simplex==9.0.11
14
14
  geode-viewables==3.0.10
15
15
  itsdangerous==2.2.0
16
16
  jinja2==3.1.5
17
17
  jsonschema==4.23.0
18
18
  jsonschema-specifications==2024.10.1
19
19
  markupsafe==3.0.2
20
- opengeode-core==15.10.1
20
+ opengeode-core==15.12.0
21
21
  opengeode-geosciences==8.2.2
22
22
  opengeode-geosciencesio==5.3.6
23
23
  opengeode-inspector==6.3.7
24
24
  opengeode-io==7.1.0
25
25
  referencing==0.36.2
26
- rpds-py==0.22.3
26
+ rpds-py==0.23.1
27
27
  typing-extensions==4.12.2
28
28
  werkzeug==3.1.3
@@ -283,6 +283,7 @@ with open(os.path.join(schemas, "create_point.json"), "r") as file:
283
283
  def create_point():
284
284
  utils_functions.validate_request(flask.request, create_point_json)
285
285
  DATA_FOLDER_PATH = flask.current_app.config["DATA_FOLDER_PATH"]
286
+ title = flask.request.json["title"]
286
287
  x = flask.request.json["x"]
287
288
  y = flask.request.json["y"]
288
289
  z = flask.request.json["z"]
@@ -290,21 +291,54 @@ def create_point():
290
291
  PointSet3D = class_.create()
291
292
  builder = geode_functions.create_builder("PointSet3D", PointSet3D)
292
293
  builder.create_point(opengeode.Point3D([x, y, z]))
293
-
294
+ builder.set_name(title)
295
+ name = PointSet3D.name()
294
296
  generated_id = str(uuid.uuid4()).replace("-", "")
297
+ object_type = geode_functions.get_object_type("PointSet3D")
298
+ saved_native_file_path = geode_functions.save(
299
+ "PointSet3D", PointSet3D, DATA_FOLDER_PATH, generated_id + ".og_pts3d"
300
+ )
295
301
  saved_viewable_file_path = geode_functions.save_viewable(
296
302
  "PointSet3D", PointSet3D, DATA_FOLDER_PATH, generated_id
297
303
  )
298
304
 
305
+ native_file_name = os.path.basename(saved_native_file_path[0])
306
+ viewable_file_name = os.path.basename(saved_viewable_file_path)
307
+
299
308
  return flask.make_response(
300
309
  {
301
310
  "viewable_file_name": os.path.basename(saved_viewable_file_path),
302
311
  "id": generated_id,
312
+ "name": name,
313
+ "native_file_name": native_file_name,
314
+ "viewable_file_name": viewable_file_name,
315
+ "object_type": object_type,
316
+ "geode_object": "PointSet3D",
303
317
  },
304
318
  200,
305
319
  )
306
320
 
307
321
 
322
+ with open(os.path.join(schemas, "texture_coordinates.json"), "r") as file:
323
+ texture_coordinates_json = json.load(file)
324
+
325
+
326
+ @routes.route(
327
+ texture_coordinates_json["route"],
328
+ methods=texture_coordinates_json["methods"],
329
+ )
330
+ def texture_coordinates():
331
+ DATA_FOLDER_PATH = flask.current_app.config["DATA_FOLDER_PATH"]
332
+ utils_functions.validate_request(flask.request, texture_coordinates_json)
333
+ data = geode_functions.load(
334
+ flask.request.json["input_geode_object"],
335
+ os.path.join(DATA_FOLDER_PATH, flask.request.json["filename"]),
336
+ )
337
+ texture_coordinates = data.texture_manager().texture_names()
338
+
339
+ return flask.make_response({"texture_coordinates": texture_coordinates}, 200)
340
+
341
+
308
342
  with open(
309
343
  os.path.join(schemas, "vertex_attribute_names.json"),
310
344
  "r",
@@ -5,6 +5,9 @@
5
5
  ],
6
6
  "type": "object",
7
7
  "properties": {
8
+ "title": {
9
+ "type": "string"
10
+ },
8
11
  "x": {
9
12
  "type": "number"
10
13
  },
@@ -16,6 +19,7 @@
16
19
  }
17
20
  },
18
21
  "required": [
22
+ "title",
19
23
  "x",
20
24
  "y",
21
25
  "z"
@@ -0,0 +1,24 @@
1
+ {
2
+ "route": "/texture_coordinates",
3
+ "methods": [
4
+ "POST"
5
+ ],
6
+ "type": "object",
7
+ "properties": {
8
+ "input_geode_object": {
9
+ "type": [
10
+ "string"
11
+ ]
12
+ },
13
+ "filename": {
14
+ "type": [
15
+ "string"
16
+ ]
17
+ }
18
+ },
19
+ "required": [
20
+ "input_geode_object",
21
+ "filename"
22
+ ],
23
+ "additionalProperties": false
24
+ }
@@ -166,6 +166,21 @@ def test_save_viewable_file(client):
166
166
  test_utils.test_route_wrong_params(client, route, get_full_data)
167
167
 
168
168
 
169
+ def test_texture_coordinates(client):
170
+ response = client.post(
171
+ "/texture_coordinates",
172
+ json={
173
+ "input_geode_object": "PolygonalSurface3D",
174
+ "filename": "hat.vtp",
175
+ },
176
+ )
177
+ assert response.status_code == 200
178
+ texture_coordinates = response.json["texture_coordinates"]
179
+ assert type(texture_coordinates) is list
180
+ for texture_coordinate in texture_coordinates:
181
+ assert type(texture_coordinate) is str
182
+
183
+
169
184
  def test_vertex_attribute_names(client):
170
185
  route = f"/vertex_attribute_names"
171
186
  for geode_object, value in geode_objects.geode_objects_dict().items():
@@ -279,7 +294,7 @@ def test_polyhedron_attribute_names(client):
279
294
 
280
295
  def test_create_point(client):
281
296
  route = f"/create_point"
282
- get_full_data = lambda: {"x": 1, "y": 2, "z": 3}
297
+ get_full_data = lambda: {"title": "test_point", "x": 1, "y": 2, "z": 3}
283
298
 
284
299
  # Normal test with all keys
285
300
  response = client.post(route, json=get_full_data())