commonmeta-py 0.90__tar.gz → 0.91__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 (77) hide show
  1. {commonmeta_py-0.90 → commonmeta_py-0.91}/PKG-INFO +1 -1
  2. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/__init__.py +1 -1
  3. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/json_feed_reader.py +28 -3
  4. {commonmeta_py-0.90 → commonmeta_py-0.91}/pyproject.toml +1 -1
  5. {commonmeta_py-0.90 → commonmeta_py-0.91}/.gitignore +0 -0
  6. {commonmeta_py-0.90 → commonmeta_py-0.91}/LICENSE +0 -0
  7. {commonmeta_py-0.90 → commonmeta_py-0.91}/README.md +0 -0
  8. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/api_utils.py +0 -0
  9. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/author_utils.py +0 -0
  10. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/base_utils.py +0 -0
  11. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/cli.py +0 -0
  12. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/constants.py +0 -0
  13. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/crossref_utils.py +0 -0
  14. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/date_utils.py +0 -0
  15. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/doi_utils.py +0 -0
  16. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/metadata.py +0 -0
  17. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/__init__.py +0 -0
  18. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/bibtex_reader.py +0 -0
  19. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/cff_reader.py +0 -0
  20. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/codemeta_reader.py +0 -0
  21. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/commonmeta_reader.py +0 -0
  22. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/crossref_reader.py +0 -0
  23. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/crossref_xml_reader.py +0 -0
  24. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/csl_reader.py +0 -0
  25. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/datacite_reader.py +0 -0
  26. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/datacite_xml_reader.py +0 -0
  27. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/inveniordm_reader.py +0 -0
  28. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/kbase_reader.py +0 -0
  29. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/ris_reader.py +0 -0
  30. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/readers/schema_org_reader.py +0 -0
  31. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/cff_v1.2.0.json +0 -0
  32. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/commonmeta_v0.12.json +0 -0
  33. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/commonmeta_v0.13.json +0 -0
  34. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/commonmeta_v0.14.json +0 -0
  35. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/commonmeta_v0.15.json +0 -0
  36. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/commonmeta_v0.16.json +0 -0
  37. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/AccessIndicators.xsd +0 -0
  38. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +0 -0
  39. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +0 -0
  40. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/JATS-journalpublishing1-elements.xsd +0 -0
  41. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +0 -0
  42. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3.xsd +0 -0
  43. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/JATS-journalpublishing1.xsd +0 -0
  44. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/clinicaltrials.xsd +0 -0
  45. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/common5.3.1.xsd +0 -0
  46. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/crossref5.3.1.xsd +0 -0
  47. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/crossref_query_output3.0.xsd +0 -0
  48. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/fundref.xsd +0 -0
  49. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/module-ali.xsd +0 -0
  50. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref/relations.xsd +0 -0
  51. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/crossref-v0.2.json +0 -0
  52. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/csl-data.json +0 -0
  53. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/datacite-v4.5.json +0 -0
  54. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/datacite-v4.5pr.json +0 -0
  55. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/ietf-bcp-47.json +0 -0
  56. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/iso-8601.json +0 -0
  57. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/spdx/licenses.json +0 -0
  58. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/spdx-schema.json +0 -0
  59. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/styles/apa.csl +0 -0
  60. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/styles/chicago-author-date.csl +0 -0
  61. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/styles/harvard-cite-them-right.csl +0 -0
  62. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/styles/ieee.csl +0 -0
  63. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/styles/modern-language-association.csl +0 -0
  64. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/resources/styles/vancouver.csl +0 -0
  65. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/schema_utils.py +0 -0
  66. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/translators.py +0 -0
  67. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/utils.py +0 -0
  68. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/__init__.py +0 -0
  69. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/bibtex_writer.py +0 -0
  70. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/citation_writer.py +0 -0
  71. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/commonmeta_writer.py +0 -0
  72. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/crossref_xml_writer.py +0 -0
  73. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/csl_writer.py +0 -0
  74. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/datacite_writer.py +0 -0
  75. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/inveniordm_writer.py +0 -0
  76. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/ris_writer.py +0 -0
  77. {commonmeta_py-0.90 → commonmeta_py-0.91}/commonmeta/writers/schema_org_writer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commonmeta-py
3
- Version: 0.90
3
+ Version: 0.91
4
4
  Summary: Library for conversions to/from the Commonmeta scholarly metadata format
5
5
  Project-URL: Homepage, https://python.commonmeta.org
6
6
  Project-URL: Repository, https://github.com/front-matter/commonmeta-py
@@ -10,7 +10,7 @@ commonmeta-py is a Python library to convert scholarly metadata
10
10
  """
11
11
 
12
12
  __title__ = "commonmeta-py"
13
- __version__ = "0.90"
13
+ __version__ = "0.91"
14
14
  __author__ = "Martin Fenner"
15
15
  __license__ = "MIT"
16
16
 
@@ -13,6 +13,7 @@ from ..utils import (
13
13
  dict_to_spdx,
14
14
  name_to_fos,
15
15
  validate_ror,
16
+ validate_url,
16
17
  issn_as_url,
17
18
  )
18
19
  from ..author_utils import get_authors
@@ -230,6 +231,7 @@ def get_funding_references(meta: Optional[dict]) -> Optional[list]:
230
231
  elif len(urls) == 2 and validate_prefix(urls[0]) == "10.13039":
231
232
  if urls[0] == "https://doi.org/10.13039/100000001":
232
233
  funder_name = "National Science Foundation"
234
+ funder_identifier = "https://ror.org/021nxhr62"
233
235
  else:
234
236
  funder_name = None
235
237
  f = furl(urls[1])
@@ -242,8 +244,8 @@ def get_funding_references(meta: Optional[dict]) -> Optional[list]:
242
244
  compact(
243
245
  {
244
246
  "funderName": funder_name,
245
- "funderIdentifier": urls[0],
246
- "funderIdentifierType": "Crossref Funder ID",
247
+ "funderIdentifier": funder_identifier,
248
+ "funderIdentifierType": "ROR",
247
249
  "awardUri": urls[1],
248
250
  "awardNumber": award_number,
249
251
  }
@@ -286,9 +288,32 @@ def get_funding_references(meta: Optional[dict]) -> Optional[list]:
286
288
  if i.get("type", None) == "HasAward"
287
289
  ]
288
290
  )
291
+ def format_funding_reference(funding: dict) -> dict:
292
+ """format funding reference. Make sure award URI is either a DOI or URL"""
293
+
294
+ award_uri = funding.get("awardUri", None)
295
+ if validate_url(funding.get("awardUri", None)) not in ["DOI", "URL"]:
296
+ award_uri = None
297
+ funder_identifier = funding.get("funderIdentifier", None)
298
+ funder_identifier_type = funding.get("funderIdentifierType", None)
299
+ if not funder_identifier_type and validate_ror(
300
+ funding.get("funderIdentifier", None)
301
+ ):
302
+ funder_identifier_type = "ROR"
303
+
304
+ return compact(
305
+ {
306
+ "funderName": funding.get("funderName", None),
307
+ "funderIdentifier": funder_identifier,
308
+ "funderIdentifierType": funder_identifier_type,
309
+ "awardTitle": funding.get("awardTitle", None),
310
+ "awardNumber": funding.get("awardNumber", None),
311
+ "awardUri": award_uri,
312
+ }
313
+ )
289
314
  funding_references = py_.get(meta, "funding_references")
290
315
  if funding_references is not None:
291
- awards += [compact(i) for i in funding_references]
316
+ awards += [format_funding_reference(i) for i in funding_references if i.get("funderName", None)]
292
317
 
293
318
  awards += wrap(py_.get(meta, "blog.funding"))
294
319
  return py_.uniq(awards)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "commonmeta-py"
3
- version = "0.90"
3
+ version = "0.91"
4
4
  description = "Library for conversions to/from the Commonmeta scholarly metadata format"
5
5
  authors = [{ name = "Martin Fenner", email = "martin@front-matter.io" }]
6
6
  requires-python = ">=3.9,<4.0"
File without changes
File without changes
File without changes