diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/fatcat_tools/importers/datacite.py | 4 | ||||
| -rw-r--r-- | python/tests/files/datacite/datacite_doc_32.json | 53 | ||||
| -rw-r--r-- | python/tests/files/datacite/datacite_result_32.json | 23 | ||||
| -rw-r--r-- | python/tests/import_datacite.py | 2 | 
4 files changed, 80 insertions, 2 deletions
| diff --git a/python/fatcat_tools/importers/datacite.py b/python/fatcat_tools/importers/datacite.py index 244984f5..d998f266 100644 --- a/python/fatcat_tools/importers/datacite.py +++ b/python/fatcat_tools/importers/datacite.py @@ -496,10 +496,12 @@ class DataciteImporter(EntityImporter):              if not desc.get('descriptionType') == 'Abstract':                  continue -            # Description maybe a string or list. +            # Description maybe a string, int or list.              text = desc.get('description', '')              if not text:                  continue +            if isinstance(text, int): +                text = '{}'.format(text)              if isinstance(text, list):                  try:                      text = "\n".join(text) diff --git a/python/tests/files/datacite/datacite_doc_32.json b/python/tests/files/datacite/datacite_doc_32.json new file mode 100644 index 00000000..7ea7e873 --- /dev/null +++ b/python/tests/files/datacite/datacite_doc_32.json @@ -0,0 +1,53 @@ +{ +  "id": "10.17912/micropub.biology.000143", +  "type": "dois", +  "attributes": { +    "doi": "10.17912/micropub.biology.000143", +    "identifiers": null, +    "creators": [ +      { +        "raw_name": " ", +        "givenName": "", +        "familyName": "", +        "affiliation": [], +        "role": "author" +      } +    ], +    "titles": [ +      { +        "title": "Sample" +      } +    ], +    "publisher": "microPublication Biology", +    "publicationYear": 2019, +    "types": { +      "resourceTypeGeneral": "DataPaper" +    }, +    "relatedIdentifiers": [], +    "sizes": [], +    "formats": [], +    "version": null, +    "rightsList": [], +    "descriptions": [ +      { +        "description": 1234567890, +        "descriptionType": "Abstract" +      } +    ], +    "geoLocations": [], +    "fundingReferences": [], +    "url": "https://www.micropublication.org/journals/biology/micropub.biology.000143", +    "created": "2019-08-19T14:43:08.000Z", +    "registered": "2019-08-19T14:43:09.000Z", +    "published": "2019", +    "updated": "2019-11-09T12:32:02.000Z" +  }, +  "relationships": { +    "client": { +      "data": { +        "id": "caltech.micropub", +        "type": "clients" +      } +    } +  } +} diff --git a/python/tests/files/datacite/datacite_result_32.json b/python/tests/files/datacite/datacite_result_32.json new file mode 100644 index 00000000..1a84a043 --- /dev/null +++ b/python/tests/files/datacite/datacite_result_32.json @@ -0,0 +1,23 @@ +{ +  "abstracts": [ +    { +      "content": "1234567890", +      "mimetype": "text/plain" +    } +  ], +  "contribs": [], +  "ext_ids": { +    "doi": "10.17912/micropub.biology.000143" +  }, +  "extra": { +    "datacite": { +      "resourceTypeGeneral": "DataPaper" +    }, +    "container_name": "microPublication Biology" +  }, +  "refs": [], +  "release_stage": "published", +  "release_year": 2019, +  "publisher": "microPublication Biology", +  "title": "Sample" +} diff --git a/python/tests/import_datacite.py b/python/tests/import_datacite.py index 7fdd8230..c9210ea4 100644 --- a/python/tests/import_datacite.py +++ b/python/tests/import_datacite.py @@ -287,7 +287,7 @@ def test_datacite_conversions(datacite_importer):      for now.      """      datacite_importer.debug = True -    for i in range(32): +    for i in range(33):          src = 'tests/files/datacite/datacite_doc_{0:02d}.json'.format(i)          dst = 'tests/files/datacite/datacite_result_{0:02d}.json'.format(i)          with open(src, 'r') as f: | 
