ds-caselaw-marklogic-api-client 34.0.0__tar.gz → 34.0.2__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.
Potentially problematic release.
This version of ds-caselaw-marklogic-api-client might be problematic. Click here for more details.
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/PKG-INFO +1 -1
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/pyproject.toml +1 -1
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/client_helpers/__init__.py +12 -6
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/responses/search_result.py +1 -1
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xml_helpers.py +5 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/LICENSE.md +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/README.md +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/Client.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/client_helpers/search_helpers.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/content_hash.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/errors.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/factories.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/identifier_resolution.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/documents/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/documents/body.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/documents/exceptions.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/documents/statuses.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/documents/transforms/html.xsl +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/documents/xml.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/identifiers/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/identifiers/fclid.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/identifiers/neutral_citation.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/identifiers/press_summary_ncn.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/identifiers/unpacker.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/judgments.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/neutral_citation_mixin.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/press_summaries.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/utilities/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/utilities/aws.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/utilities/dates.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/models/utilities/move.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/py.typed +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/responses/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/responses/search_response.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/responses/xsl/search_match.xsl +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/search_parameters.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/types.py +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/break_judgment_checkout.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/checkin_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/checkout_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/copy_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/delete_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/document_collections.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/document_exists.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_combined_stats_table.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_components_for_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_highest_enrichment_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_highest_parser_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_judgment_checkout_status.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_judgment_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_last_modified.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_next_document_sequence_number.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_pending_enrichment_for_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_pending_parse_for_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_properties_for_search_results.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_property_as_node.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_recently_enriched.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_recently_parsed.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_version_annotation.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/get_version_created.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/insert_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/list_judgment_versions.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/resolve_from_identifier_slug.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/resolve_from_identifier_value.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_boolean_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_metadata_citation.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_metadata_court.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_metadata_jurisdiction.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_metadata_name.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_metadata_this_uri.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_metadata_work_expression_date.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/set_property_as_node.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/update_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/update_locked_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/user_has_privilege.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/user_has_role.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/validate_all_documents.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/validate_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/xslt.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/src/caselawclient/xquery/xslt_transform.xqy +0 -0
- {ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/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: 34.0.
|
|
3
|
+
Version: 34.0.2
|
|
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
|
{ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "ds-caselaw-marklogic-api-client"
|
|
3
|
-
version = "34.0.
|
|
3
|
+
version = "34.0.2"
|
|
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"
|
|
@@ -5,6 +5,8 @@ from typing import Any, Optional, TypedDict
|
|
|
5
5
|
from lxml import etree
|
|
6
6
|
from typing_extensions import NotRequired
|
|
7
7
|
|
|
8
|
+
from caselawclient.xml_helpers import DEFAULT_NAMESPACES
|
|
9
|
+
|
|
8
10
|
from ..models.documents import Document
|
|
9
11
|
from ..models.judgments import Judgment
|
|
10
12
|
from ..models.press_summaries import PressSummary
|
|
@@ -124,19 +126,23 @@ class VersionAnnotation:
|
|
|
124
126
|
|
|
125
127
|
|
|
126
128
|
def get_document_type_class(xml: bytes) -> type[Document]:
|
|
127
|
-
"""Attempt to get the type of the document based on the XML
|
|
129
|
+
"""Attempt to get the type of the document based on the top-level structure of the XML document."""
|
|
128
130
|
|
|
129
131
|
node = etree.fromstring(xml)
|
|
130
132
|
|
|
131
|
-
# If the
|
|
132
|
-
if node.
|
|
133
|
+
# If the main node is `<judgment>`, it's a judgment
|
|
134
|
+
if node.xpath("/akn:akomaNtoso/akn:judgment", namespaces=DEFAULT_NAMESPACES):
|
|
133
135
|
return Judgment
|
|
134
136
|
|
|
135
|
-
# If the
|
|
136
|
-
if node.
|
|
137
|
+
# If the main node is `<doc name='pressSummary'>`, it's a press summary
|
|
138
|
+
if node.xpath("/akn:akomaNtoso/akn:doc[@name='pressSummary']", namespaces=DEFAULT_NAMESPACES):
|
|
137
139
|
return PressSummary
|
|
138
140
|
|
|
141
|
+
# If the document is a parser error with a root element of `error`, it's not of a special type.
|
|
142
|
+
if node.xpath("/error", namespaces=DEFAULT_NAMESPACES):
|
|
143
|
+
return Document
|
|
144
|
+
|
|
139
145
|
# Otherwise, we don't know for sure. Fail out.
|
|
140
146
|
raise CannotDetermineDocumentType(
|
|
141
|
-
"Unable to
|
|
147
|
+
"Unable to determine the Document type by its XML",
|
|
142
148
|
)
|
|
@@ -173,7 +173,7 @@ class SearchResult:
|
|
|
173
173
|
|
|
174
174
|
@property
|
|
175
175
|
def identifiers(self) -> Identifiers:
|
|
176
|
-
identifiers_etrees = self._get_xpath("
|
|
176
|
+
identifiers_etrees = self._get_xpath(".//identifiers")
|
|
177
177
|
if count := len(identifiers_etrees) != 1:
|
|
178
178
|
logging.warning(f"{count} //identifiers nodes found in search result, expected 1.")
|
|
179
179
|
identifiers_etree = None if not identifiers_etrees else identifiers_etrees[0]
|
|
@@ -2,6 +2,11 @@ from typing import Dict, Optional
|
|
|
2
2
|
|
|
3
3
|
from lxml import etree
|
|
4
4
|
|
|
5
|
+
DEFAULT_NAMESPACES = {
|
|
6
|
+
"uk": "https://caselaw.nationalarchives.gov.uk/akn",
|
|
7
|
+
"akn": "http://docs.oasis-open.org/legaldocml/ns/akn/3.0",
|
|
8
|
+
}
|
|
9
|
+
|
|
5
10
|
|
|
6
11
|
def get_xpath_match_string(
|
|
7
12
|
node: etree._Element,
|
{ds_caselaw_marklogic_api_client-34.0.0 → ds_caselaw_marklogic_api_client-34.0.2}/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|