rudi-node-write 1.3.1__tar.gz → 1.3.2__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 (47) hide show
  1. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/PKG-INFO +7 -3
  2. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/pyproject.toml +2 -2
  3. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/requirements-dev.txt +4 -3
  4. rudi_node_write-1.3.2/requirements.txt +7 -0
  5. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_rudi_manager_write.py +2 -2
  6. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_rudi_manager_write_v3.py +9 -9
  7. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/file_utils.py +1 -2
  8. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write.egg-info/PKG-INFO +7 -3
  9. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write.egg-info/requires.txt +6 -2
  10. rudi_node_write-1.3.1/requirements.txt +0 -7
  11. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/LICENCE.md +0 -0
  12. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/README.md +0 -0
  13. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/setup.cfg +0 -0
  14. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/__init__.py +0 -0
  15. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/conf/meta_defaults.py +0 -0
  16. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_connector.py +0 -0
  17. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_rudi_catalog_write.py +0 -0
  18. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_rudi_jwt_factory.py +0 -0
  19. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_rudi_manager_write_v2.py +0 -0
  20. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/io_rudi_storage_write.py +0 -0
  21. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/connectors/rudi_node_auth.py +0 -0
  22. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_node_writer.py +0 -0
  23. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_const.py +0 -0
  24. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_contact.py +0 -0
  25. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_dates.py +0 -0
  26. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_dictionary_entry.py +0 -0
  27. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_geo.py +0 -0
  28. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_licence.py +0 -0
  29. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_media.py +0 -0
  30. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_meta.py +0 -0
  31. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_meta_misc.py +0 -0
  32. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/rudi_org.py +0 -0
  33. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/rudi_types/serializable.py +0 -0
  34. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/dict_utils.py +0 -0
  35. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/err.py +0 -0
  36. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/html_utils.py +0 -0
  37. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/jwt.py +0 -0
  38. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/list_utils.py +0 -0
  39. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/log.py +0 -0
  40. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/str_utils.py +0 -0
  41. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/type_date.py +0 -0
  42. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/typing_utils.py +0 -0
  43. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write/utils/url_utils.py +0 -0
  44. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write.egg-info/SOURCES.txt +0 -0
  45. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write.egg-info/dependency_links.txt +0 -0
  46. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/src/rudi_node_write.egg-info/top_level.txt +0 -0
  47. {rudi_node_write-1.3.1 → rudi_node_write-1.3.2}/tests/test_rudi_node_write.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rudi-node-write
3
- Version: 1.3.1
3
+ Version: 1.3.2
4
4
  Summary: Use the internal API of a RUDI Producer node
5
5
  Author-email: Olivier Martineau <olivier.martineau@irisa.fr>
6
6
  Maintainer-email: Olivier Martineau <olivier.martineau@irisa.fr>
@@ -16,11 +16,15 @@ Classifier: Operating System :: OS Independent
16
16
  Requires-Python: >=3.11
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENCE.md
19
+ Requires-Dist: beautifulsoup4==4.13.4
20
+ Requires-Dist: chardet==5.2.0
21
+ Requires-Dist: deepdiff==8.5.0
22
+ Requires-Dist: puremagic==1.29
19
23
  Provides-Extra: dev
20
24
  Requires-Dist: backports.tarfile==1.2.0; extra == "dev"
21
25
  Requires-Dist: black==25.1.0; extra == "dev"
22
26
  Requires-Dist: build==1.2.2.post1; extra == "dev"
23
- Requires-Dist: commitizen==4.7.1; extra == "dev"
27
+ Requires-Dist: commitizen==4.7.2; extra == "dev"
24
28
  Requires-Dist: flake8==7.2.0; extra == "dev"
25
29
  Requires-Dist: importlib-metadata==8.7.0; extra == "dev"
26
30
  Requires-Dist: importlib-resources==6.5.2; extra == "dev"
@@ -40,7 +44,7 @@ Requires-Dist: py-env==0.0.1; extra == "dev"
40
44
  Requires-Dist: pyright==1.1.400; extra == "dev"
41
45
  Requires-Dist: pytest-check==2.5.3; extra == "dev"
42
46
  Requires-Dist: pytest-cov==6.1.1; extra == "dev"
43
- Requires-Dist: rudi-node-write==1.3.0; extra == "dev"
47
+ Requires-Dist: rudi-node-write==1.3.1; extra == "dev"
44
48
  Requires-Dist: tomli==2.2.1; extra == "dev"
45
49
  Requires-Dist: twine==6.1.0; extra == "dev"
46
50
  Dynamic: license-file
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rudi-node-write"
7
- version = "1.3.1"
7
+ version = "1.3.2"
8
8
  authors = [{ name = "Olivier Martineau", email = "olivier.martineau@irisa.fr" }]
9
9
  maintainers = [
10
10
  { name = "Olivier Martineau", email = "olivier.martineau@irisa.fr" },
@@ -45,7 +45,7 @@ target-version = ['py311']
45
45
  # ----- Tool: commitizen
46
46
  [tool.commitizen]
47
47
  name = "cz_conventional_commits"
48
- version = "1.3.1"
48
+ version = "1.3.2"
49
49
  version_files = ["pyproject.toml:version"]
50
50
 
51
51
  # ----- Tool: pytest
@@ -1,7 +1,8 @@
1
+ # -r requirements.txt
1
2
  backports.tarfile==1.2.0
2
3
  black==25.1.0
3
4
  build==1.2.2.post1
4
- commitizen==4.7.1
5
+ commitizen==4.7.2
5
6
  flake8==7.2.0
6
7
  importlib-metadata==8.7.0
7
8
  importlib-resources==6.5.2
@@ -21,7 +22,7 @@ py-env==0.0.1
21
22
  pyright==1.1.400
22
23
  pytest-check==2.5.3
23
24
  pytest-cov==6.1.1
24
- rudi-node-write==1.3.0
25
+ rudi-node-write==1.3.1
25
26
  tomli==2.2.1
26
27
  twine==6.1.0
27
28
  # appnope==0.1.4 # Installed as dependency for ipykernel
@@ -102,7 +103,7 @@ twine==6.1.0
102
103
  # ruamel.yaml.clib==0.2.12 # Installed as dependency for ruamel.yaml
103
104
  # six==1.17.0 # Installed as dependency for python-dateutil
104
105
  # stack-data==0.6.3 # Installed as dependency for ipython
105
- # termcolor==3.1.0 # Installed as dependency for commitizen
106
+ # termcolor==2.5.0 # Installed as dependency for commitizen
106
107
  # tomlkit==0.13.2 # Installed as dependency for commitizen
107
108
  # tornado==6.5 # Installed as dependency for ipykernel, jupyter-client
108
109
  # traitlets==5.14.3 # Installed as dependency for comm, ipykernel, ipython, jupyter-client, jupyter-core, matplotlib-inline, nbformat
@@ -0,0 +1,7 @@
1
+ beautifulsoup4==4.13.4
2
+ chardet==5.2.0
3
+ deepdiff==8.5.0
4
+ puremagic==1.29
5
+ # orderly-set==5.4.1 # Installed as dependency for deepdiff
6
+ # soupsieve==2.7 # Installed as dependency for beautifulsoup4
7
+ # typing-extensions==4.13.2 # Installed as dependency for beautifulsoup4, pyright, referencing, typeguard
@@ -475,7 +475,7 @@ class RudiNodeManagerConnector(Connector):
475
475
 
476
476
  @property
477
477
  def last_metadata_update_date(self) -> Date | None:
478
- res = self.get_data("resources?sort=-updatedAt&limit=1&fields=updatedAt")
478
+ res = self.get_data("resources?sort_by=-updatedAt&limit=1&fields=updatedAt")
479
479
  if not isinstance(res, list):
480
480
  raise TypeError(f"The server should have returned a list, got:\n{res}")
481
481
  if len(res) == 0:
@@ -485,7 +485,7 @@ class RudiNodeManagerConnector(Connector):
485
485
 
486
486
  @property
487
487
  def last_data_update_date(self) -> Date | None:
488
- res = self.get_data("resources?sort=-dataset_dates.updated&limit=1&fields=dataset_dates.updated")
488
+ res = self.get_data("resources?sort_by=-dataset_dates.updated&limit=1&fields=dataset_dates.updated")
489
489
  # print("last_data_update_date", res)
490
490
  if not isinstance(res, list):
491
491
  raise TypeError(f"The server should have returned a list, got:\n{res}")
@@ -180,7 +180,7 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
180
180
  )
181
181
 
182
182
  def test_connection(self):
183
- test = self.get_manager(url="open/test", headers=self._def_headers)
183
+ test = self.get_api(url="open/test", headers=self._def_headers)
184
184
  if test == "test":
185
185
  log_d(here, f"Node '{self.host}'", "connection OK")
186
186
  # log_d(here, f"Node '{self.host}'", "connection OK")
@@ -191,7 +191,7 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
191
191
  def test_identified_connection(self):
192
192
  self.test_connection()
193
193
  try:
194
- self.get_manager(url="catalog/uuid", headers=self._id_headers)
194
+ self.get_api(url="catalog/uuid", headers=self._id_headers)
195
195
  except HttpError:
196
196
  raise ConnectionError(f"Identifiers seem to be not working for the node: {self.server_url}")
197
197
  return True
@@ -209,11 +209,11 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
209
209
 
210
210
  @property
211
211
  def tags(self):
212
- return self.get_manager(url="open/tags", headers=self._def_headers)
212
+ return self.get_api(url="open/tags", headers=self._def_headers)
213
213
 
214
214
  @property
215
215
  def hash(self):
216
- return self.get_manager(url="open/hash", headers=self._def_headers)
216
+ return self.get_api(url="open/hash", headers=self._def_headers)
217
217
 
218
218
  @property
219
219
  def _def_headers(self):
@@ -269,7 +269,7 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
269
269
  def _storage_jwt(self) -> str:
270
270
  here = "_storage_jwt"
271
271
  if is_jwt_expired(self._cached_storage_jwt):
272
- res = self.get_manager(url="storage/jwt", headers=self._id_headers)
272
+ res = self.get_api(url="storage/jwt", headers=self._id_headers)
273
273
 
274
274
  if not isinstance(res, dict):
275
275
  raise TypeError(f"An error occurred while getting Storage JWT: got {res}")
@@ -380,7 +380,7 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
380
380
  if url in RUDI_OBJECT_TYPES:
381
381
  data: list[dict] = self._get_full_obj_list(url)
382
382
  else:
383
- data = self.get_manager(url=url, headers=self._id_headers) # type: ignore
383
+ data = self.get_api(url=url, headers=self._id_headers) # type: ignore
384
384
 
385
385
  self._data_cache[url] = {"data": data, _REFRESH_KEY: time()}
386
386
  obj_data = self._data_cache[url]["data"]
@@ -452,7 +452,7 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
452
452
 
453
453
  @property
454
454
  def last_metadata_update_date(self) -> Date | None:
455
- res = self.get_catalog_cached("resources?sort=-updatedAt&limit=1&fields=updatedAt")
455
+ res = self.get_catalog_cached("resources?sort_by=-updatedAt&fields=updatedAt&limit=1")
456
456
  if not isinstance(res, list):
457
457
  raise TypeError(f"The server should have returned a list, got:\n{res}")
458
458
  if len(res) == 0:
@@ -462,7 +462,7 @@ class RudiNodeManagerConnectorV3(RudiNodeManagerConnector):
462
462
 
463
463
  @property
464
464
  def last_data_update_date(self) -> Date | None:
465
- res = self.get_catalog_cached("resources?sort=-dataset_dates.updated&limit=1&fields=dataset_dates.updated")
465
+ res = self.get_catalog_cached("resources?sort_by=-dataset_dates.updated&limit=1&fields=dataset_dates.updated")
466
466
  # print("last_data_update_date", res)
467
467
  if not isinstance(res, list):
468
468
  raise TypeError(f"The server should have returned a list, got:\n{res}")
@@ -1356,7 +1356,7 @@ if __name__ == "__main__": # pragma: no cover
1356
1356
  log_d(tests, "manager_url", manager.manager_url)
1357
1357
  log_d(tests, "manager_back_url", manager.base_url)
1358
1358
  log_d(tests, "test 1", manager.request(relative_url="open/test"))
1359
- log_d(tests, "test 2", manager.get_manager(url="open/test", headers=manager._def_headers))
1359
+ log_d(tests, "test 2", manager.get_api(url="open/test", headers=manager._def_headers))
1360
1360
  log_d(tests, "test 3", manager.test_connection())
1361
1361
 
1362
1362
  log_d(tests, "nb orgs", manager._count_obj("organizations"))
@@ -139,8 +139,7 @@ def get_file_hash(file_local_path: str, hash_algo: str = "md5") -> str:
139
139
  def read_json_file(file_path, mode: Literal["b", "t"] = "t"): # pragma: no cover
140
140
  check_is_file(file_path)
141
141
  with open(file_path, f"r{mode}") as json_file_content:
142
- json_dict = load(json_file_content)
143
- return json_dict
142
+ return load(json_file_content)
144
143
 
145
144
 
146
145
  def write_file(destination_file_path: str, content, mode: Literal["b", "t"] = "t"): # pragma: no cover
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rudi-node-write
3
- Version: 1.3.1
3
+ Version: 1.3.2
4
4
  Summary: Use the internal API of a RUDI Producer node
5
5
  Author-email: Olivier Martineau <olivier.martineau@irisa.fr>
6
6
  Maintainer-email: Olivier Martineau <olivier.martineau@irisa.fr>
@@ -16,11 +16,15 @@ Classifier: Operating System :: OS Independent
16
16
  Requires-Python: >=3.11
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENCE.md
19
+ Requires-Dist: beautifulsoup4==4.13.4
20
+ Requires-Dist: chardet==5.2.0
21
+ Requires-Dist: deepdiff==8.5.0
22
+ Requires-Dist: puremagic==1.29
19
23
  Provides-Extra: dev
20
24
  Requires-Dist: backports.tarfile==1.2.0; extra == "dev"
21
25
  Requires-Dist: black==25.1.0; extra == "dev"
22
26
  Requires-Dist: build==1.2.2.post1; extra == "dev"
23
- Requires-Dist: commitizen==4.7.1; extra == "dev"
27
+ Requires-Dist: commitizen==4.7.2; extra == "dev"
24
28
  Requires-Dist: flake8==7.2.0; extra == "dev"
25
29
  Requires-Dist: importlib-metadata==8.7.0; extra == "dev"
26
30
  Requires-Dist: importlib-resources==6.5.2; extra == "dev"
@@ -40,7 +44,7 @@ Requires-Dist: py-env==0.0.1; extra == "dev"
40
44
  Requires-Dist: pyright==1.1.400; extra == "dev"
41
45
  Requires-Dist: pytest-check==2.5.3; extra == "dev"
42
46
  Requires-Dist: pytest-cov==6.1.1; extra == "dev"
43
- Requires-Dist: rudi-node-write==1.3.0; extra == "dev"
47
+ Requires-Dist: rudi-node-write==1.3.1; extra == "dev"
44
48
  Requires-Dist: tomli==2.2.1; extra == "dev"
45
49
  Requires-Dist: twine==6.1.0; extra == "dev"
46
50
  Dynamic: license-file
@@ -1,9 +1,13 @@
1
+ beautifulsoup4==4.13.4
2
+ chardet==5.2.0
3
+ deepdiff==8.5.0
4
+ puremagic==1.29
1
5
 
2
6
  [dev]
3
7
  backports.tarfile==1.2.0
4
8
  black==25.1.0
5
9
  build==1.2.2.post1
6
- commitizen==4.7.1
10
+ commitizen==4.7.2
7
11
  flake8==7.2.0
8
12
  importlib-metadata==8.7.0
9
13
  importlib-resources==6.5.2
@@ -23,6 +27,6 @@ py-env==0.0.1
23
27
  pyright==1.1.400
24
28
  pytest-check==2.5.3
25
29
  pytest-cov==6.1.1
26
- rudi-node-write==1.3.0
30
+ rudi-node-write==1.3.1
27
31
  tomli==2.2.1
28
32
  twine==6.1.0
@@ -1,7 +0,0 @@
1
- # beautifulsoup4==4.13.4 # Installed as dependency for rudi-node-write
2
- # chardet==5.2.0 # Installed as dependency for rudi-node-write
3
- # deepdiff==8.5.0 # Installed as dependency for rudi-node-write
4
- # orderly-set==5.4.1 # Installed as dependency for deepdiff
5
- # puremagic==1.29 # Installed as dependency for rudi-node-write
6
- # soupsieve==2.7 # Installed as dependency for beautifulsoup4
7
- # typing-extensions==4.13.2 # Installed as dependency for beautifulsoup4, pyright, referencing, typeguard