summaryrefslogtreecommitdiffstats
path: root/python/fatcat_tools
diff options
context:
space:
mode:
Diffstat (limited to 'python/fatcat_tools')
-rw-r--r--python/fatcat_tools/transforms/__init__.py2
-rw-r--r--python/fatcat_tools/transforms/entities.py8
2 files changed, 7 insertions, 3 deletions
diff --git a/python/fatcat_tools/transforms/__init__.py b/python/fatcat_tools/transforms/__init__.py
index 863472c0..735d1b29 100644
--- a/python/fatcat_tools/transforms/__init__.py
+++ b/python/fatcat_tools/transforms/__init__.py
@@ -1,4 +1,4 @@
-from .entities import entity_to_dict, entity_from_json
+from .entities import entity_to_dict, entity_from_json, entity_from_dict
from .elasticsearch import release_to_elasticsearch, container_to_elasticsearch, changelog_to_elasticsearch
from .csl import release_to_csl, citeproc_csl
diff --git a/python/fatcat_tools/transforms/entities.py b/python/fatcat_tools/transforms/entities.py
index 8e5de286..ae666413 100644
--- a/python/fatcat_tools/transforms/entities.py
+++ b/python/fatcat_tools/transforms/entities.py
@@ -1,5 +1,5 @@
-
+import json
import collections
from fatcat_openapi_client import ApiClient
@@ -21,7 +21,7 @@ def entity_from_json(json_str, entity_type, api_client=None):
"""
Hack to take advantage of the code-generated deserialization code
- See not on `entity_to_dict()` about api_client argument.
+ See note on `entity_to_dict()` about api_client argument.
"""
if not api_client:
api_client = ApiClient()
@@ -29,3 +29,7 @@ def entity_from_json(json_str, entity_type, api_client=None):
thing.data = json_str
return api_client.deserialize(thing, entity_type)
+def entity_from_dict(obj, entity_type, api_client=None):
+ json_str = json.dumps(obj)
+ return entity_from_json(json_str, entity_type, api_client=api_client)
+