diff options
Diffstat (limited to 'python')
-rw-r--r-- | python/fatcat_tools/transforms/elasticsearch.py | 3 | ||||
-rw-r--r-- | python/tests/transform_tests.py | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/python/fatcat_tools/transforms/elasticsearch.py b/python/fatcat_tools/transforms/elasticsearch.py index 7f7f2f1b..c150572e 100644 --- a/python/fatcat_tools/transforms/elasticsearch.py +++ b/python/fatcat_tools/transforms/elasticsearch.py @@ -84,6 +84,9 @@ def release_to_elasticsearch(entity, force_bool=True): t['any_abstract'] = len(release.abstracts or []) > 0 t['ref_count'] = len(release.refs or []) + t['ref_linked_count'] = 0 + if release.refs: + t['ref_linked_count'] = len([1 for ref in release.refs if ref.target_release_id]) t['contrib_count'] = len(release.contribs or []) contrib_names = [] creator_ids = [] diff --git a/python/tests/transform_tests.py b/python/tests/transform_tests.py index 27f54d92..c36137ba 100644 --- a/python/tests/transform_tests.py +++ b/python/tests/transform_tests.py @@ -22,6 +22,10 @@ def test_rich_elasticsearch_convert(crossref_importer): release_year=1234, license_slug="CC-BY-NC", ext_ids=ReleaseExtIds(), + refs=[ + ReleaseRef(), + ReleaseRef(target_release_id="iznnn644szdwva7khyxqzc73bi"), + ], ) r.state = 'active' r.container = ContainerEntity( @@ -65,6 +69,8 @@ def test_rich_elasticsearch_convert(crossref_importer): assert es['in_dweb'] == True assert es['is_oa'] == True assert es['is_longtail_oa'] == False + assert es['ref_count'] == 2 + assert es['ref_linked_count'] == 1 def test_elasticsearch_from_json(): r = entity_from_json(open('./tests/files/math_universe.json', 'r').read(), ReleaseEntity) |