ds-caselaw-marklogic-api-client 29.0.0__tar.gz → 29.0.1__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 (83) hide show
  1. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/PKG-INFO +1 -1
  2. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/pyproject.toml +1 -1
  3. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/identifiers/__init__.py +1 -1
  4. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/identifiers/unpacker.py +10 -3
  5. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/LICENSE.md +0 -0
  6. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/README.md +0 -0
  7. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/Client.py +0 -0
  8. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/__init__.py +0 -0
  9. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/client_helpers/__init__.py +0 -0
  10. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/client_helpers/search_helpers.py +0 -0
  11. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/content_hash.py +0 -0
  12. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/errors.py +0 -0
  13. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/factories.py +0 -0
  14. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/identifier_resolution.py +0 -0
  15. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/__init__.py +0 -0
  16. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/documents/__init__.py +0 -0
  17. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/documents/body.py +0 -0
  18. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/documents/exceptions.py +0 -0
  19. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/documents/statuses.py +0 -0
  20. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/documents/transforms/html.xsl +0 -0
  21. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/documents/xml.py +0 -0
  22. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/identifiers/fclid.py +0 -0
  23. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/identifiers/neutral_citation.py +0 -0
  24. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/judgments.py +0 -0
  25. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/neutral_citation_mixin.py +0 -0
  26. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/press_summaries.py +0 -0
  27. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/utilities/__init__.py +0 -0
  28. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/utilities/aws.py +0 -0
  29. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/utilities/dates.py +0 -0
  30. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/models/utilities/move.py +0 -0
  31. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/py.typed +0 -0
  32. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/responses/__init__.py +0 -0
  33. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/responses/search_response.py +0 -0
  34. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/responses/search_result.py +0 -0
  35. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/responses/xsl/search_match.xsl +0 -0
  36. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/search_parameters.py +0 -0
  37. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xml_helpers.py +0 -0
  38. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/break_judgment_checkout.xqy +0 -0
  39. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/checkin_judgment.xqy +0 -0
  40. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/checkout_judgment.xqy +0 -0
  41. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/copy_document.xqy +0 -0
  42. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/delete_judgment.xqy +0 -0
  43. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/document_collections.xqy +0 -0
  44. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/document_exists.xqy +0 -0
  45. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_combined_stats_table.xqy +0 -0
  46. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_components_for_document.xqy +0 -0
  47. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_highest_enrichment_version.xqy +0 -0
  48. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_highest_parser_version.xqy +0 -0
  49. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_judgment.xqy +0 -0
  50. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_judgment_checkout_status.xqy +0 -0
  51. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_judgment_version.xqy +0 -0
  52. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_last_modified.xqy +0 -0
  53. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_next_document_sequence_number.xqy +0 -0
  54. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_pending_enrichment_for_version.xqy +0 -0
  55. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_pending_parse_for_version.xqy +0 -0
  56. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_properties_for_search_results.xqy +0 -0
  57. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_property.xqy +0 -0
  58. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_property_as_node.xqy +0 -0
  59. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_recently_enriched.xqy +0 -0
  60. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_recently_parsed.xqy +0 -0
  61. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_version_annotation.xqy +0 -0
  62. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/get_version_created.xqy +0 -0
  63. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/insert_document.xqy +0 -0
  64. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/list_judgment_versions.xqy +0 -0
  65. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/resolve_from_identifier.xqy +0 -0
  66. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_boolean_property.xqy +0 -0
  67. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_metadata_citation.xqy +0 -0
  68. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_metadata_court.xqy +0 -0
  69. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_metadata_jurisdiction.xqy +0 -0
  70. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_metadata_name.xqy +0 -0
  71. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_metadata_this_uri.xqy +0 -0
  72. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_metadata_work_expression_date.xqy +0 -0
  73. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_property.xqy +0 -0
  74. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/set_property_as_node.xqy +0 -0
  75. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/update_document.xqy +0 -0
  76. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/update_locked_judgment.xqy +0 -0
  77. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/user_has_privilege.xqy +0 -0
  78. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/user_has_role.xqy +0 -0
  79. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/validate_all_documents.xqy +0 -0
  80. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/validate_document.xqy +0 -0
  81. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/xslt.xqy +0 -0
  82. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery/xslt_transform.xqy +0 -0
  83. {ds_caselaw_marklogic_api_client-29.0.0 → ds_caselaw_marklogic_api_client-29.0.1}/src/caselawclient/xquery_type_dicts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ds-caselaw-marklogic-api-client
3
- Version: 29.0.0
3
+ Version: 29.0.1
4
4
  Summary: An API client for interacting with the underlying data in Find Caselaw.
5
5
  Home-page: https://github.com/nationalarchives/ds-caselaw-custom-api-client
6
6
  Keywords: national archives,caselaw
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ds-caselaw-marklogic-api-client"
3
- version = "29.0.0"
3
+ version = "29.0.1"
4
4
  description = "An API client for interacting with the underlying data in Find Caselaw."
5
5
  authors = ["The National Archives"]
6
6
  homepage = "https://github.com/nationalarchives/ds-caselaw-custom-api-client"
@@ -177,6 +177,6 @@ class Identifiers(dict[str, Identifier]):
177
177
 
178
178
  :return: Return the highest scoring identifier of the given type (or of any type, if none is specified). Returns `None` if no identifier is available.
179
179
  """
180
- if len(self) == 0:
180
+ if len(self.by_score(type)) == 0:
181
181
  return None
182
182
  return self.by_score(type)[0]
@@ -1,4 +1,5 @@
1
1
  from typing import Optional
2
+ from warnings import warn
2
3
 
3
4
  from lxml import etree
4
5
 
@@ -19,12 +20,13 @@ def unpack_all_identifiers_from_etree(identifiers_etree: Optional[etree._Element
19
20
  return identifiers
20
21
  for identifier_etree in identifiers_etree.findall("identifier"):
21
22
  identifier = unpack_an_identifier_from_etree(identifier_etree)
22
- identifiers.add(identifier)
23
+ if identifier:
24
+ identifiers.add(identifier)
23
25
  return identifiers
24
26
 
25
27
 
26
- def unpack_an_identifier_from_etree(identifier_xml: etree._Element) -> Identifier:
27
- """Given an etree representation of a single identifier, unpack it into an appropriate instance of an Identifier."""
28
+ def unpack_an_identifier_from_etree(identifier_xml: etree._Element) -> Optional[Identifier]:
29
+ """Given an etree representation of a single identifier, unpack it into an appropriate instance of an Identifier if the type is known (otherwise return `None`)."""
28
30
 
29
31
  namespace_element = identifier_xml.find("namespace")
30
32
 
@@ -33,6 +35,11 @@ def unpack_an_identifier_from_etree(identifier_xml: etree._Element) -> Identifie
33
35
  "Identifer XML representation is not valid: namespace not present or empty"
34
36
  )
35
37
 
38
+ # If the identifier namespace isn't known, fail out
39
+ if namespace_element.text not in IDENTIFIER_NAMESPACE_MAP:
40
+ warn(f"Identifier type {namespace_element.text} is not known.")
41
+ return None
42
+
36
43
  kwargs: dict[str, str] = {}
37
44
 
38
45
  for attribute in IDENTIFIER_UNPACKABLE_ATTRIBUTES: