From 30ebd3d22228292e73ab76d625dd9994f548074b Mon Sep 17 00:00:00 2001 From: Martin Fenner Date: Sun, 29 Sep 2024 11:01:29 +0200 Subject: [PATCH] fix language parsing --- commonmeta/readers/inveniordm_reader.py | 4 +- commonmeta/readers/schema_org_reader.py | 3 +- commonmeta/utils.py | 18 +- commonmeta/writers/bibtex_writer.py | 4 +- commonmeta/writers/schema_org_writer.py | 4 +- .../test-schema_org_reader/test_arxiv.yaml | 26 +- .../test_blog_posting.yaml | 32 +- .../test_dataverse.yaml | 16 +- .../test_journal_page.yaml | 14 +- .../test_orcid_blog.yaml | 4 +- .../test-schema_org_reader/test_pangaea.yaml | 16 +- .../test-schema_org_reader/test_pdf_file.yaml | 2 +- .../test-schema_org_reader/test_zenodo.yaml | 547 +++++++++--------- .../10.25982_86723.65_1778009_kbcms.json | 2 +- tests/test-bibtex_writer.py | 8 +- tests/test-kbase_reader.py | 2 +- tests/test-schema_org_writer.py | 10 +- tests/test-utils.py | 10 +- 18 files changed, 366 insertions(+), 356 deletions(-) diff --git a/commonmeta/readers/inveniordm_reader.py b/commonmeta/readers/inveniordm_reader.py index 24a19a3..1ff434e 100644 --- a/commonmeta/readers/inveniordm_reader.py +++ b/commonmeta/readers/inveniordm_reader.py @@ -93,8 +93,6 @@ def read_inveniordm(data: dict, **kwargs) -> Commonmeta: ] ) language = py_.get(meta, "metadata.language") or py_.get(meta, "metadata.languages[0].id") - if language: - language = get_language(language).alpha_2 subjects = [name_to_fos(i) for i in wrap(py_.get(meta, "metadata.keywords"))] references = get_references(wrap(py_.get(meta, "metadata.related_identifiers"))) @@ -121,7 +119,7 @@ def read_inveniordm(data: dict, **kwargs) -> Commonmeta: # recommended and optional properties # "additional_type": additional_type, "subjects": presence(subjects), - "language": language, + "language": get_language(language), "version": py_.get(meta, "metadata.version"), "license": presence(license_), "descriptions": descriptions, diff --git a/commonmeta/readers/schema_org_reader.py b/commonmeta/readers/schema_org_reader.py index 3fc7699..db06351 100644 --- a/commonmeta/readers/schema_org_reader.py +++ b/commonmeta/readers/schema_org_reader.py @@ -19,6 +19,7 @@ normalize_ids, normalize_url, name_to_fos, + get_language, ) from ..readers.crossref_reader import get_crossref from ..readers.datacite_reader import get_datacite @@ -292,7 +293,7 @@ def read_schema_org(data: Optional[dict], **kwargs) -> Commonmeta: # recommended and optional attributes "additional_type": additional_type, "subjects": presence(subjects), - "language": language, + "language": get_language(language), "identifiers": identifiers, "sizes": None, "formats": None, diff --git a/commonmeta/utils.py b/commonmeta/utils.py index bff79d8..13f3fa7 100644 --- a/commonmeta/utils.py +++ b/commonmeta/utils.py @@ -1043,9 +1043,10 @@ def issn_as_url(issn: str) -> Optional[str]: return f"https://portal.issn.org/resource/ISSN/{issn}" -def get_language(lang: str) -> Optional[dict]: - """Provide a language object based on ISO 639, with either a name in English, - ISO 639-1, or ISO 639-3 code as input. +def get_language(lang: str, format: str="alpha_2") -> Optional[str]: + """Provide a language string based on ISO 639, with either a name in English, + ISO 639-1, or ISO 639-3 code as input. Optionally format as alpha_2 (defaul), + alpha_3, or name. """ if not lang: return None @@ -1055,7 +1056,16 @@ def get_language(lang: str) -> Optional[dict]: language = pycountry.languages.get(alpha_3=lang) else: language = pycountry.languages.get(name=lang) - return language + + if language is None: + return None + elif format == "name": + return language.name + elif format == "alpha_3": + return language.alpha_3 + + else: + return language.alpha_2 def start_case(content: str) -> str: diff --git a/commonmeta/writers/bibtex_writer.py b/commonmeta/writers/bibtex_writer.py index ddcea96..90f0f74 100644 --- a/commonmeta/writers/bibtex_writer.py +++ b/commonmeta/writers/bibtex_writer.py @@ -3,7 +3,7 @@ from bibtexparser.bibdatabase import BibDatabase from bibtexparser.customization import page_double_hyphen -from ..utils import pages_as_string +from ..utils import pages_as_string, get_language from ..base_utils import compact from ..author_utils import authors_as_string from ..date_utils import get_month_from_date, get_iso8601_date, MONTH_SHORT_NAMES @@ -82,7 +82,7 @@ def write_bibtex_item(metadata: Commonmeta) -> dict: booktitle = ( container.get("title", None) if _type in ["inbook", "inproceedings"] else None ) - language = metadata.language + language = get_language(metadata.language) location = ( container.get("location", None) if _type not in ["article", "phdthesis"] diff --git a/commonmeta/writers/schema_org_writer.py b/commonmeta/writers/schema_org_writer.py index a4b6e5e..7f87aaa 100644 --- a/commonmeta/writers/schema_org_writer.py +++ b/commonmeta/writers/schema_org_writer.py @@ -1,6 +1,6 @@ """Schema.org writer for commonmeta-py""" import orjson as json -from ..utils import to_schema_org_creators, github_as_repo_url +from ..utils import to_schema_org_creators, github_as_repo_url, get_language from ..base_utils import compact, wrap, presence, parse_attributes from ..constants import CM_TO_SO_TRANSLATIONS @@ -117,7 +117,7 @@ def write_schema_org(metadata): wrap(metadata.subjects), content="subject", first=False ) ), - "inLanguage": metadata.language, + "inLanguage": get_language(metadata.language, format="name"), "dateCreated": metadata.date.get("created", None), "datePublished": metadata.date.get("published", None), "dateModified": metadata.date.get("updated", None), diff --git a/tests/cassettes/test-schema_org_reader/test_arxiv.yaml b/tests/cassettes/test-schema_org_reader/test_arxiv.yaml index d437fc7..68bbb66 100644 --- a/tests/cassettes/test-schema_org_reader/test_arxiv.yaml +++ b/tests/cassettes/test-schema_org_reader/test_arxiv.yaml @@ -571,13 +571,13 @@ interactions: Content-Length: - '45287' Date: - - Fri, 27 Sep 2024 16:12:50 GMT + - Sun, 29 Sep 2024 08:44:43 GMT X-Cache: - - MISS, MISS + - HIT, MISS X-Served-By: - - cache-lga21969-LGA, cache-fra-etou8220025-FRA + - cache-lga21969-LGA, cache-fra-etou8220148-FRA X-Timer: - - S1727453570.607760,VS0,VE520 + - S1727599483.468512,VS0,VE242 cache-control: - max-age=3600 content-security-policy: @@ -591,7 +591,7 @@ interactions: via: - 1.1 google, 1.1 varnish, 1.1 varnish x-cloud-trace-context: - - 70996ce163e93a14aabf2d2281dd1f0b + - e33c0a667e8f81f037b820dada490d93 x-frame-options: - SAMEORIGIN status: @@ -621,7 +621,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc70e4bbac7ed-DUS + - 8caab1660939c7c7-DUS Connection: - keep-alive Content-Encoding: @@ -629,11 +629,11 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:50 GMT + - Sun, 29 Sep 2024 08:44:43 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=M86uOkY%2BHmKkgERQ8fMD6xKIOolzZO7rwHTlrKNdDl3VbkkVWaA%2BAjDbk4hMH4vr6CuewH8WLobEBEl5NeuLZO0RQXuF7lg32XvHtzf%2B3ZZeMV9Av3nokGMpqrLfLcAkldhhRVA%3D"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=kku5xi6i%2Bc6dW2J%2FBAPkqOS334XTsyPig7NsjqCKrx5a1sXehfLWOIJZkORBFHpcyEHoFL1%2BibmBuQ9zpjoU0T6wOjJMbtFYpe%2BbIBcr%2FiBzPJ5BEstT8EUnS8TKe5vUebqdSgQ%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: @@ -665,7 +665,7 @@ interactions: response: body: string: !!binary | - H4sIAILZ9mYAA7xaWXfiyJL+Kzp+qpr2IgnoMp4ndkSz2OzonnrQkhYJ2kYbiDr13+dLpQSIcve4 + H4sIAHwT+WYAA7xaWXfiyJL+Kzp+qpr2IgnoMp4ndkSz2OzonnrQkhYJ2kYbiDr13+dLpQSIcve4 7syZhz5lhSJjjy+CVP+4M7VIu3v5cUfNu5c7SXysPtdq4pMWHGnyKNVF+VGUa5Xq3f1dlPoELKZH QzxpURRQPY5IyA6D+D+c9gPyTo9XTKCF8TunfcBPTeJG9J2SAAr+9ePqmcn4mHPOLdSCNU3ufn6H kXZEAleLiHIj7YMXpcMfHi0rZvKNgGiRl8t0NYcJ6BOq03tBSTQXYhgxl/wK5Z6r2aBaNCHumPPn @@ -749,9 +749,9 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 27 Sep 2024 16:12:50 GMT + - Sun, 29 Sep 2024 08:44:44 GMT ETag: - - W/"2e8303d763630376f4748e71ec92d1f1" + - W/"b0031bc1da359a74e851ba83fb66bf91" Referrer-Policy: - strict-origin-when-cross-origin Server: @@ -773,9 +773,9 @@ interactions: X-Powered-By: - Phusion Passenger(R) 6.0.23 X-Request-Id: - - 07b0e136-abc9-459c-85be-52d8c912e335 + - 446a22b2-942e-43de-b566-ad85bc482022 X-Runtime: - - '0.035136' + - '0.037905' X-XSS-Protection: - '0' status: diff --git a/tests/cassettes/test-schema_org_reader/test_blog_posting.yaml b/tests/cassettes/test-schema_org_reader/test_blog_posting.yaml index d9b85cd..8913184 100644 --- a/tests/cassettes/test-schema_org_reader/test_blog_posting.yaml +++ b/tests/cassettes/test-schema_org_reader/test_blog_posting.yaml @@ -21,7 +21,7 @@ interactions: Accept-Ranges: - bytes Age: - - '285128' + - '431042' Alt-Svc: - clear Connection: @@ -29,7 +29,7 @@ interactions: Content-Length: - '0' Date: - - Fri, 27 Sep 2024 16:12:44 GMT + - Sun, 29 Sep 2024 08:44:38 GMT Ghost-Fastly: - 'true' Vary: @@ -39,9 +39,9 @@ interactions: X-Cache-Hits: - 0, 3, 1 X-Served-By: - - cache-ams2100143-AMS, cache-ams2100143-AMS, cache-fra-eddf8230051-FRA + - cache-ams2100143-AMS, cache-ams2100143-AMS, cache-fra-eddf8230070-FRA X-Timer: - - S1727453565.865111,VS0,VE2 + - S1727599479.935885,VS0,VE2 cache-control: - public, max-age=31536000 ghost-age: @@ -57,7 +57,7 @@ interactions: via: - 1.1 varnish, 1.1 varnish, 1.1 varnish x-request-id: - - 63d87d30-4cca-4c1b-b9ca-ec18e096d97f + - df93d0ff-f07f-46f2-84fe-89538141dd67 status: code: 301 message: Moved Permanently @@ -237,7 +237,7 @@ interactions: Accept-Ranges: - bytes Age: - - '73779' + - '219693' Alt-Svc: - clear Connection: @@ -245,7 +245,7 @@ interactions: Content-Length: - '8733' Date: - - Fri, 27 Sep 2024 16:12:44 GMT + - Sun, 29 Sep 2024 08:44:38 GMT Ghost-Fastly: - 'true' Vary: @@ -253,11 +253,11 @@ interactions: X-Cache: - MISS, HIT, HIT X-Cache-Hits: - - 0, 1, 1 + - 0, 1, 0 X-Served-By: - - cache-ams21021-AMS, cache-ams21021-AMS, cache-fra-eddf8230051-FRA + - cache-ams21021-AMS, cache-ams21021-AMS, cache-fra-eddf8230070-FRA X-Timer: - - S1727453565.882696,VS0,VE2 + - S1727599479.956337,VS0,VE1 cache-control: - public, max-age=0 content-encoding: @@ -277,7 +277,7 @@ interactions: via: - 1.1 varnish, 1.1 varnish, 1.1 varnish x-request-id: - - 1abc9be4-6a48-45a2-87e6-4f663b52aabe + - d7f2445e-c3bc-44b0-8881-93c69f1f8dee status: code: 200 message: OK @@ -305,7 +305,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc6ecfda41619-DUS + - 8caab1484a7ec7e4-DUS Connection: - keep-alive Content-Encoding: @@ -313,19 +313,17 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:44 GMT + - Sun, 29 Sep 2024 08:44:39 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=hVehXeHwTwCLua6GHpmjRsOFKzSaRxyZ4%2Bt%2F4meOA9AzsdVPZjpcdSRRCKa0sM%2FlgeV0spfKCSSSR7Hvs2jzKEkwwI7VDHxWorj%2FcHVOvbgwgRYaJBfiyTY1YY0y3Ll7TxPiOPg%3D"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=g0i7GSsud%2B%2F7oKI5ItkMzYrs633gTRtHpKCzRUh0bSazP48S8SqbSBiHYqgtQBOgI4UjDkq5Ac8GTfJE9km6sbCm1MCHRhcNeIjGDzcBM8d%2F1eacRDow7QCXvuQVi7aaBLNIa50%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: - chunked - alt-svc: - - h3=":443"; ma=86400 permissions-policy: - interest-cohort=(),browsing-topics=() vary: @@ -391,7 +389,7 @@ interactions: content-type: - application/json date: - - Fri, 27 Sep 2024 16:12:45 GMT + - Sun, 29 Sep 2024 08:44:39 GMT permissions-policy: - interest-cohort=() server: diff --git a/tests/cassettes/test-schema_org_reader/test_dataverse.yaml b/tests/cassettes/test-schema_org_reader/test_dataverse.yaml index bf9ecae..1767225 100644 --- a/tests/cassettes/test-schema_org_reader/test_dataverse.yaml +++ b/tests/cassettes/test-schema_org_reader/test_dataverse.yaml @@ -23,7 +23,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc6fbed6bc81e-DUS + - 8caab1558f04c7fe-DUS Connection: - keep-alive Content-Encoding: @@ -31,11 +31,11 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:47 GMT + - Sun, 29 Sep 2024 08:44:41 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=b%2FIDuMkDoKWrGahd552RyR5G4qnxKfC16TZsRCkckd40ZrKt%2Fj92UdbXlUfhzw34lbAQuoyydkLpRq0Cuw3y73mkVZLBAKWxUN4f2AahJkMRUmYo7qFEoaVgZ5nD9V1GN0vfGps%3D"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ZI0tWsrmxkJGS9hcBG4w7WW58K%2Fuq%2Fg73Qo4Rz1FGuCbWAzRRTn2eWCN25O42i7SsLjwwl62CtXGXZiGwZI3P1bsPfq7g7%2F8B5N3O6z8MZot3iqzXiB0wBvsYt8B67UeQRKwoEk%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: @@ -67,7 +67,7 @@ interactions: response: body: string: !!binary | - H4sIAH/Z9mYAA5xXXXPiOhL9Ky5edu/OkNgGJkDV1BaBBMwQyBhig2/dB1sStoj8UZYMMan89235 + H4sIAHkT+WYAA5xXXXPiOhL9Ky5edu/OkNgGJkDV1BaBBMwQyBhig2/dB1sStoj8UZYMMan89235 A0gyc+vWvuFWn+6jbql1eG1gV7iN/muD4ka/oalXNz1Nvcb76Dra3bzwuPG1IfKEwBqOKYcvV4iU epkgXKLA+DtYkpItfTmvgoln29L0zpFiEgm6pSSFkH/+BSmYIGnkCmJ8XEEpcUVcfL02IjeUvIyo 9KZx5DJlTCIiKOLKYqsMouecxZxGvrJM4gjnjArKlWEc8TgVNAuVfxvjwfIPuSsgxmgRpMwkg39I @@ -117,9 +117,9 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 27 Sep 2024 16:12:47 GMT + - Sun, 29 Sep 2024 08:44:41 GMT ETag: - - W/"e9ee585353da9a606624ed35e3d57a2b" + - W/"1e28b954b5d93cbc96d1469a3d00a448" Referrer-Policy: - strict-origin-when-cross-origin Server: @@ -141,9 +141,9 @@ interactions: X-Powered-By: - Phusion Passenger(R) 6.0.23 X-Request-Id: - - 8020cc24-cdcc-47cb-b1f2-eca9139e604a + - 6cf945bb-0333-4dc9-858d-0bb91e56d28d X-Runtime: - - '0.028964' + - '0.029253' X-XSS-Protection: - '0' status: diff --git a/tests/cassettes/test-schema_org_reader/test_journal_page.yaml b/tests/cassettes/test-schema_org_reader/test_journal_page.yaml index 7acfd6e..84f531e 100644 --- a/tests/cassettes/test-schema_org_reader/test_journal_page.yaml +++ b/tests/cassettes/test-schema_org_reader/test_journal_page.yaml @@ -138,19 +138,19 @@ interactions: Content-Type: - text/html; charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:51 GMT + - Sun, 29 Sep 2024 08:44:45 GMT Expires: - Wed, 28 Jan 1976 11:52:00 GMT Keep-Alive: - timeout=5, max=100 Last-Modified: - - Fri, 27 Sep 2024 16:12:51 GMT + - Sun, 29 Sep 2024 08:44:45 GMT Pragma: - no-cache Server: - Apache Set-Cookie: - - PHPSESSID=04jgjo7fgo8crnokf5cuoia7h3; path=/ + - PHPSESSID=knodjrnkcgelkt9vqnb5hedgi2; path=/ Transfer-Encoding: - chunked status: @@ -180,7 +180,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc7168ee3c801-DUS + - 8caab16e5e8ec810-DUS Connection: - keep-alive Content-Encoding: @@ -188,11 +188,11 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:51 GMT + - Sun, 29 Sep 2024 08:44:45 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=FrVsEUu8JyfLr9K0MCebGtW09Hht%2BAwSVZA7MX%2Fn4%2Fx2MfBtQgsDfM5OfGWp%2BokHfBJH3kmS71UfzRkdx%2BlQsSd9ZpKqqv5PL6f3R5NOKBGfbfjeeWEVRxBBWEgaURholDsVU3I%3D"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2Bd6Xf68jCGoiXFXuADpQUXPLUYMCJP%2BYjsRiHmceB%2F%2BQ23EQYKI0WRMF%2BBgaiylAHPPXv3Q0q%2F2Vu4AHCORs5LBWYVsEt75rnTLDS%2FZ6wKBF%2BrtygB0ZRb20bTPxA9QUz0kytVI%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: @@ -256,7 +256,7 @@ interactions: content-type: - application/json date: - - Fri, 27 Sep 2024 16:12:52 GMT + - Sun, 29 Sep 2024 08:44:45 GMT permissions-policy: - interest-cohort=() server: diff --git a/tests/cassettes/test-schema_org_reader/test_orcid_blog.yaml b/tests/cassettes/test-schema_org_reader/test_orcid_blog.yaml index 0a6345c..0bfb893 100644 --- a/tests/cassettes/test-schema_org_reader/test_orcid_blog.yaml +++ b/tests/cassettes/test-schema_org_reader/test_orcid_blog.yaml @@ -23,7 +23,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc7105db6c824-DUS + - 8caab1681819c7e2-DUS Connection: - keep-alive Content-Encoding: @@ -31,7 +31,7 @@ interactions: Content-Type: - text/html Date: - - Fri, 27 Sep 2024 16:12:51 GMT + - Sun, 29 Sep 2024 08:44:44 GMT Server: - cloudflare Transfer-Encoding: diff --git a/tests/cassettes/test-schema_org_reader/test_pangaea.yaml b/tests/cassettes/test-schema_org_reader/test_pangaea.yaml index aa52e32..417f4aa 100644 --- a/tests/cassettes/test-schema_org_reader/test_pangaea.yaml +++ b/tests/cassettes/test-schema_org_reader/test_pangaea.yaml @@ -23,7 +23,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc6f98e8fc7f8-DUS + - 8caab1537f78c820-DUS Connection: - keep-alive Content-Encoding: @@ -31,11 +31,11 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:47 GMT + - Sun, 29 Sep 2024 08:44:40 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ItgW05q2VRi4lXre91%2Bc5LYE1cSlymgI0zJayaNjCHW33S0Za0dMxEjMN0G0PRSNo5IKovbDt5EnBicl%2FBCFqAkpsg0fdFVEKIO%2BxQlGrxWXM8dUAA6XCI2rc7NqG6hg%2BvifX90%3D"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Zb8zqy2eaxzh3yK8alrBLywZisyAX2BQG7EdhLhFM2SSAQsPES%2B5pnU2uGI2xl%2BsHeOqSqX3VoUPFwLCloiMwACgiSg%2BASNlo2V%2FT8qQz8M0oGHCEeDG9Q8xOzvWt%2BwANlJHl6I%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: @@ -67,7 +67,7 @@ interactions: response: body: string: !!binary | - H4sIAH/Z9mYAA8Rba3LqyJLeisK/um/7IYSxjfuXMS9xANs8jW50dOhlISg9Wg+w6DgRs4fZwqxh + H4sIAHkT+WYAA8Rba3LqyJLeisK/um/7IYSxjfuXMS9xANs8jW50dOhlISg9Wg+w6DgRs4fZwqxh NnB3MiuZL0sSSBifPqdjbkxHnGhTqsrKyvzyyyyR/HlmqJF6dv/nmW2c3Z9VxMtKrX595auupZrq 5V31pnJ7d3Z+FiW+ieeGZ4f4pEZRYGtxZIa0EoPfWuoH5pv9fpiBoTB+S4c+TLYN043sN9sMIPqf v2ErFpmBq0amfPxED0w18vinP89c1SH9et5SdcPQc8+FluOoEGjZG9Mdpk+zoTfVsVkyPFpBx4JW @@ -191,9 +191,9 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 27 Sep 2024 16:12:47 GMT + - Sun, 29 Sep 2024 08:44:41 GMT ETag: - - W/"deb1771c14eaea625081bfee49044c39" + - W/"be769f7466601faa57a07418bad4e880" Referrer-Policy: - strict-origin-when-cross-origin Server: @@ -215,9 +215,9 @@ interactions: X-Powered-By: - Phusion Passenger(R) 6.0.23 X-Request-Id: - - 712537c9-819e-40fa-8e37-feb3fc2e127a + - e77c56bf-ac34-4718-a244-3a1fd86c25e2 X-Runtime: - - '0.038110' + - '0.033850' X-XSS-Protection: - '0' status: diff --git a/tests/cassettes/test-schema_org_reader/test_pdf_file.yaml b/tests/cassettes/test-schema_org_reader/test_pdf_file.yaml index 732fc09..aa16ae4 100644 --- a/tests/cassettes/test-schema_org_reader/test_pdf_file.yaml +++ b/tests/cassettes/test-schema_org_reader/test_pdf_file.yaml @@ -26215,7 +26215,7 @@ interactions: Content-Type: - application/pdf Date: - - Fri, 27 Sep 2024 16:12:52 GMT + - Sun, 29 Sep 2024 08:44:45 GMT ETag: - '"0d572ff0ddd31:0"' Last-Modified: diff --git a/tests/cassettes/test-schema_org_reader/test_zenodo.yaml b/tests/cassettes/test-schema_org_reader/test_zenodo.yaml index dad0b90..0bbbc15 100644 --- a/tests/cassettes/test-schema_org_reader/test_zenodo.yaml +++ b/tests/cassettes/test-schema_org_reader/test_zenodo.yaml @@ -66,17 +66,17 @@ interactions: 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 @@ -96,253 +96,254 @@ interactions: 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 + AA== headers: content-encoding: - gzip @@ -353,7 +354,7 @@ interactions: content-type: - text/html; charset=utf-8 date: - - Fri, 27 Sep 2024 16:12:45 GMT + - Sun, 29 Sep 2024 08:44:40 GMT link: - ; rel="linkset" ; type="application/linkset+json" permissions-policy: @@ -361,13 +362,13 @@ interactions: referrer-policy: - strict-origin-when-cross-origin retry-after: - - '50' + - '59' server: - nginx set-cookie: - - session=624c1a6998d258f_66f6d97d.ntnV5B4FKd6Zn9JaS1pFEoMmgHg; Expires=Mon, - 07 Oct 2024 16:12:45 GMT; Secure; HttpOnly; Path=/; SameSite=Lax - - 5569e5a730cade8ff2b54f1e815f3670=6ac7f53bbcbbff45401f2b5fe4729e28; path=/; + - session=89d0d7cc49b5e708_66f91378.vdWpnYlH4KJPKLNyU8MAPKw7cJg; Expires=Wed, + 09 Oct 2024 08:44:40 GMT; Secure; HttpOnly; Path=/; SameSite=Lax + - 5569e5a730cade8ff2b54f1e815f3670=c6dd8a61a3197bd4a96d92147eb04aa3; path=/; HttpOnly; Secure; SameSite=None strict-transport-security: - max-age=31556926; includeSubDomains @@ -383,11 +384,11 @@ interactions: x-ratelimit-limit: - '133' x-ratelimit-remaining: - - '129' + - '132' x-ratelimit-reset: - - '1727453616' + - '1727599540' x-request-id: - - 2abb2489e96e58be2bd2ce393a755b61 + - e17957f804d875e00474efbb4dfde1b0 x-xss-protection: - 1; mode=block status: @@ -417,7 +418,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8c9cc6f47b756a9b-DUS + - 8caab1514cf2c809-DUS Connection: - keep-alive Content-Encoding: @@ -425,11 +426,11 @@ interactions: Content-Type: - application/json;charset=UTF-8 Date: - - Fri, 27 Sep 2024 16:12:46 GMT + - Sun, 29 Sep 2024 08:44:40 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=8o0g3jAQvQdcYgD84Wk%2FylcanEhuhNY2Lm%2FZejhjRTNteZK%2FH8tizgY4%2B1erjh95hgjwCxMGNoXlz6NH6HL86zDAmYRxJV9YMu9cfXphM9C3A68%2FIhaM249OV7FkKHZ1LlNmihg%3D"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=bUwbVsh9NwsvXwvm0EdouEx7Ndi5yWKQzYJRPe%2FXKC%2FJvZbr%2F1enxuW2jmZBPNdhlFCi4S60GaqjCnsHdsPhJCLkiDRN218ZJjnCcXKJVdeiJ4ZnfqDv0WYdAxfFeoSvKBfSdL4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: @@ -461,7 +462,7 @@ interactions: response: body: string: !!binary | - H4sIAH7Z9mYAA9RbaXPiWLL9Kwp/qoqysSTAZfxiPiB2GrDZBGi644U2SwJtowUQHfXf38krsdmu + H4sIAHgT+WYAA9RbaXPiWLL9Kwp/qoqysSTAZfxiPiB2GrDZBGi644U2SwJtowUQHfXf38krsdmu rqp582LmVXRXmau8N/PmcjJTTv68MdREvXn688Yxbp5uBL5UFR+F+4PpB0ZQEoTaw6Mo3NzeJFlo 4rkRODE+qUkSOVqamDHtxOJfbQ0j89XZnymwFKev+dI7Yscw/cR5dcwIR//9D7ByEzPy1cTsvX2i R6aaBOzTnze+6pF800R1tFtuCAFtRyVR6cEsF/4FWwNfdbFqOVvTH+V7LohfVc9xs9HFWXRZyOo6 @@ -587,9 +588,9 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 27 Sep 2024 16:12:46 GMT + - Sun, 29 Sep 2024 08:44:40 GMT ETag: - - W/"06df58442237b958676644b8ca57402a" + - W/"5d274e425a41956a56637849bf8eb14a" Referrer-Policy: - strict-origin-when-cross-origin Server: @@ -611,9 +612,9 @@ interactions: X-Powered-By: - Phusion Passenger(R) 6.0.23 X-Request-Id: - - 5d64c89c-ea30-4f63-a4ee-71faa0a04ac7 + - 2a0cd455-0189-4e48-9213-28e67cb29580 X-Runtime: - - '0.049976' + - '0.039607' X-XSS-Protection: - '0' status: diff --git a/tests/fixtures/10.25982_86723.65_1778009_kbcms.json b/tests/fixtures/10.25982_86723.65_1778009_kbcms.json index ad213c3..7d49292 100644 --- a/tests/fixtures/10.25982_86723.65_1778009_kbcms.json +++ b/tests/fixtures/10.25982_86723.65_1778009_kbcms.json @@ -109,6 +109,6 @@ "title_type": "alternative_title" } ], - "language": "en-US" + "language": "en" } } diff --git a/tests/test-bibtex_writer.py b/tests/test-bibtex_writer.py index 66f9ae1..047b701 100644 --- a/tests/test-bibtex_writer.py +++ b/tests/test-bibtex_writer.py @@ -359,7 +359,7 @@ def test_inveniordm_report(): author = {signatories, James Watson on the behalf of 201}, copyright = {https://creativecommons.org/licenses/by/4.0/legalcode}, doi = {10.5281/zenodo.3871094}, - language = {eng}, + language = {en}, month = may, title = {An open letter to Mehra et al and The Lancet}, url = {https://zenodo.org/records/3871094}, @@ -387,7 +387,7 @@ def test_inveniordm_preprint(): author = {Nicolas Hulscher, BS and Alexander, Paul E. and Amerling, Richard and Gessling, Heather and Hodkinson, Roger and Makis, William and Risch, Harvey A. and Trozzi, Mark and McCullough, Peter A.}, copyright = {https://creativecommons.org/licenses/by/4.0/legalcode}, doi = {10.5281/zenodo.8120771}, - language = {eng}, + language = {en}, month = jul, title = {A SYSTEMATIC REVIEW OF AUTOPSY FINDINGS IN DEATHS AFTER COVID-19 VACCINATION}, url = {https://zenodo.org/records/8120771}, @@ -415,7 +415,7 @@ def test_inveniordm_dataset(): author = {Banda, Juan M. and Tekumalla, Ramya and Wang, Guanyu and Yu, Jingyuan and Liu, Tuo and Ding, Yuning and Artemova, Katya and Tutubalina, Elena and Chowell, Gerardo}, copyright = {None}, doi = {10.5281/zenodo.7834392}, - language = {eng}, + language = {en}, month = apr, publisher = {Zenodo}, title = {A large-scale COVID-19 Twitter chatter dataset for open scientific research - an international collaboration}, @@ -440,7 +440,7 @@ def test_kbase_gulf_of_mexico(): author = {Patin, Nastassia}, copyright = {https://creativecommons.org/licenses/by/4.0/}, doi = {10.25982/86723.65/1778009}, - language = {en-US}, + language = {en}, month = sep, publisher = {KBase}, title = {Gulf of Mexico blue hole harbors high levels of novel microbial lineages: A load of cool stuff from the blue hole in the Gulf of Mexico}, diff --git a/tests/test-kbase_reader.py b/tests/test-kbase_reader.py index 7221e19..211d70a 100644 --- a/tests/test-kbase_reader.py +++ b/tests/test-kbase_reader.py @@ -117,6 +117,6 @@ def test_gulf_of_mexico(): "type": "DataRepository", "title": "KBase", } - assert subject.language == "en-US" + assert subject.language == "en" assert subject.version is None assert subject.files is None diff --git a/tests/test-schema_org_writer.py b/tests/test-schema_org_writer.py index d888242..46db738 100644 --- a/tests/test-schema_org_writer.py +++ b/tests/test-schema_org_writer.py @@ -50,7 +50,7 @@ def test_journal_article(): } assert schema_org.get("pageStart") is None assert schema_org.get("pageEnd") is None - assert schema_org.get("inLanguage") == "en" + assert schema_org.get("inLanguage") == "English" assert ( schema_org.get("license") == "https://creativecommons.org/licenses/by/3.0/legalcode" @@ -243,7 +243,7 @@ def test_inveniordm_report(): } assert schema_org.get("pageStart") is None assert schema_org.get("pageEnd") is None - assert schema_org.get("inLanguage") == "eng" + assert schema_org.get("inLanguage") == "English" assert ( schema_org.get("license") == "https://creativecommons.org/licenses/by/4.0/legalcode" @@ -292,7 +292,7 @@ def test_inveniordm_preprint(): } assert schema_org.get("pageStart") is None assert schema_org.get("pageEnd") is None - assert schema_org.get("inLanguage") == "eng" + assert schema_org.get("inLanguage") == "English" assert ( schema_org.get("license") == "https://creativecommons.org/licenses/by/4.0/legalcode" @@ -339,7 +339,7 @@ def test_inveniordm_dataset(): assert schema_org.get("inDataCatalog") is None assert schema_org.get("pageStart") is None assert schema_org.get("pageEnd") is None - assert schema_org.get("inLanguage") == "eng" + assert schema_org.get("inLanguage") == "English" assert schema_org.get("license") is None assert len(schema_org.get("distribution")) == 24 assert schema_org.get("distribution")[0] == { @@ -393,7 +393,7 @@ def test_article_with_pages(): } assert schema_org.get("pageStart") == "e1008184" assert schema_org.get("pageEnd") is None - assert schema_org.get("inLanguage") == "en" + assert schema_org.get("inLanguage") == "English" assert ( schema_org.get("license") == "https://creativecommons.org/licenses/by/4.0/legalcode" diff --git a/tests/test-utils.py b/tests/test-utils.py index b727e06..83b41df 100644 --- a/tests/test-utils.py +++ b/tests/test-utils.py @@ -809,11 +809,13 @@ def test_from_curie(): def test_get_language(): """Get language from string""" - assert "English" == get_language("en").name - assert "Danish" == get_language("dan").name - assert "en" == get_language("English").alpha_2 + assert "English" == get_language("en", format="name") + assert "Danish" == get_language("dan", format="name") + assert "eng" == get_language("English", format="alpha_3") + assert "en" == get_language("English", format="alpha_2") + assert "en" == get_language("English") assert None is get_language("xyz") - assert "tlh" == get_language("Klingon").alpha_3 + assert "tlh" == get_language("Klingon", format="alpha_3") def test_validate_url():