elody 0.0.191__tar.gz → 0.0.192__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 (52) hide show
  1. {elody-0.0.191 → elody-0.0.192}/PKG-INFO +1 -1
  2. {elody-0.0.191 → elody-0.0.192}/pyproject.toml +1 -1
  3. {elody-0.0.191 → elody-0.0.192}/src/elody/object_configurations/base_object_configuration.py +2 -0
  4. {elody-0.0.191 → elody-0.0.192}/src/elody/object_configurations/elody_configuration.py +15 -12
  5. {elody-0.0.191 → elody-0.0.192}/src/elody.egg-info/PKG-INFO +1 -1
  6. {elody-0.0.191 → elody-0.0.192}/LICENSE +0 -0
  7. {elody-0.0.191 → elody-0.0.192}/README.md +0 -0
  8. {elody-0.0.191 → elody-0.0.192}/setup.cfg +0 -0
  9. {elody-0.0.191 → elody-0.0.192}/src/__init__.py +0 -0
  10. {elody-0.0.191 → elody-0.0.192}/src/elody/__init__.py +0 -0
  11. {elody-0.0.191 → elody-0.0.192}/src/elody/client.py +0 -0
  12. {elody-0.0.191 → elody-0.0.192}/src/elody/csv.py +0 -0
  13. {elody-0.0.191 → elody-0.0.192}/src/elody/error_codes.py +0 -0
  14. {elody-0.0.191 → elody-0.0.192}/src/elody/exceptions.py +0 -0
  15. {elody-0.0.191 → elody-0.0.192}/src/elody/job.py +0 -0
  16. {elody-0.0.191 → elody-0.0.192}/src/elody/loader.py +0 -0
  17. {elody-0.0.191 → elody-0.0.192}/src/elody/migration/__init__.py +0 -0
  18. {elody-0.0.191 → elody-0.0.192}/src/elody/migration/base_object_migrator.py +0 -0
  19. {elody-0.0.191 → elody-0.0.192}/src/elody/object_configurations/__init__.py +0 -0
  20. {elody-0.0.191 → elody-0.0.192}/src/elody/object_configurations/job_configuration.py +0 -0
  21. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/__init__.py +0 -0
  22. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authentication/__init__.py +0 -0
  23. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authentication/base_user_tenant_validation_policy.py +0 -0
  24. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authentication/multi_tenant_policy.py +0 -0
  25. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/__init__.py +0 -0
  26. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/filter_generic_objects_policy.py +0 -0
  27. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/filter_generic_objects_policy_v2.py +0 -0
  28. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/generic_object_detail_policy.py +0 -0
  29. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/generic_object_mediafiles_policy.py +0 -0
  30. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/generic_object_metadata_policy.py +0 -0
  31. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/generic_object_relations_policy.py +0 -0
  32. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/generic_object_request_policy.py +0 -0
  33. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/generic_object_request_policy_v2.py +0 -0
  34. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/mediafile_derivatives_policy.py +0 -0
  35. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/mediafile_download_policy.py +0 -0
  36. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/multi_tenant_policy.py +0 -0
  37. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/authorization/tenant_request_policy.py +0 -0
  38. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/helpers.py +0 -0
  39. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/permission_handler.py +0 -0
  40. {elody-0.0.191 → elody-0.0.192}/src/elody/policies/tenant_id_resolver.py +0 -0
  41. {elody-0.0.191 → elody-0.0.192}/src/elody/schemas.py +0 -0
  42. {elody-0.0.191 → elody-0.0.192}/src/elody/util.py +0 -0
  43. {elody-0.0.191 → elody-0.0.192}/src/elody/validator.py +0 -0
  44. {elody-0.0.191 → elody-0.0.192}/src/elody.egg-info/SOURCES.txt +0 -0
  45. {elody-0.0.191 → elody-0.0.192}/src/elody.egg-info/dependency_links.txt +0 -0
  46. {elody-0.0.191 → elody-0.0.192}/src/elody.egg-info/requires.txt +0 -0
  47. {elody-0.0.191 → elody-0.0.192}/src/elody.egg-info/top_level.txt +0 -0
  48. {elody-0.0.191 → elody-0.0.192}/src/tests/__init_.py +0 -0
  49. {elody-0.0.191 → elody-0.0.192}/src/tests/data.py +0 -0
  50. {elody-0.0.191 → elody-0.0.192}/src/tests/unit/__init__.py +0 -0
  51. {elody-0.0.191 → elody-0.0.192}/src/tests/unit/test_csv.py +0 -0
  52. {elody-0.0.191 → elody-0.0.192}/src/tests/unit/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elody
3
- Version: 0.0.191
3
+ Version: 0.0.192
4
4
  Summary: elody SDK for Python
5
5
  Author-email: Inuits <developers@inuits.eu>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "elody"
9
- version = "0.0.191"
9
+ version = "0.0.192"
10
10
  description = "elody SDK for Python"
11
11
  readme = "README.md"
12
12
  authors = [{ name = "Inuits", email = "developers@inuits.eu" }]
@@ -103,6 +103,8 @@ class BaseObjectConfiguration(ABC):
103
103
  )
104
104
  if sanitized_value:
105
105
  sanitized_document[key] = sanitized_value
106
+ elif isinstance(value, list):
107
+ sanitized_document[key] = [element for element in value if element]
106
108
  elif value:
107
109
  sanitized_document[key] = value
108
110
  return sanitized_document
@@ -45,10 +45,10 @@ class ElodyConfiguration(BaseObjectConfiguration):
45
45
  flat_post_body={},
46
46
  document_defaults={},
47
47
  ):
48
- if not flat_post_body:
49
- flat_post_body = flatten_dict(
50
- self.document_info()["object_lists"], post_body
51
- )
48
+ flat_post_body = flat_post_body or flatten_dict(
49
+ self.document_info()["object_lists"],
50
+ post_body if isinstance(post_body, dict) else {},
51
+ )
52
52
  _id = document_defaults.get("_id", str(uuid4()))
53
53
 
54
54
  identifiers = []
@@ -66,14 +66,17 @@ class ElodyConfiguration(BaseObjectConfiguration):
66
66
  "schema": {"type": self.SCHEMA_TYPE, "version": self.SCHEMA_VERSION},
67
67
  }
68
68
 
69
- for key, object_list_key in self.document_info()["object_lists"].items():
70
- if not key.startswith("lookup.virtual_relations"):
71
- post_body[key] = self._merge_object_lists(
72
- document_defaults.get(key, []),
73
- post_body.get(key, []),
74
- object_list_key,
75
- )
76
- document = {**template, **document_defaults, **post_body}
69
+ if isinstance(post_body, dict):
70
+ for key, object_list_key in self.document_info()["object_lists"].items():
71
+ if not key.startswith("lookup.virtual_relations"):
72
+ post_body[key] = self._merge_object_lists(
73
+ document_defaults.get(key, []),
74
+ post_body.get(key, []),
75
+ object_list_key,
76
+ )
77
+ document = {**template, **document_defaults, **post_body}
78
+ else:
79
+ document = {**template, **document_defaults}
77
80
  document = self._pre_crud_hook(crud="create", document=document)
78
81
  return document
79
82
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elody
3
- Version: 0.0.191
3
+ Version: 0.0.192
4
4
  Summary: elody SDK for Python
5
5
  Author-email: Inuits <developers@inuits.eu>
6
6
  License: GNU GENERAL PUBLIC LICENSE
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
File without changes
File without changes
File without changes
File without changes