ds-caselaw-marklogic-api-client 31.0.0__tar.gz → 31.1.0__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-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/PKG-INFO +2 -2
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/pyproject.toml +2 -2
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/Client.py +6 -10
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/identifier_resolution.py +5 -5
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/types.py +30 -1
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/resolve_from_identifier_slug.xqy +2 -3
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/xslt_transform.xqy +1 -1
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery_type_dicts.py +3 -3
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/LICENSE.md +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/README.md +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/client_helpers/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/client_helpers/search_helpers.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/content_hash.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/errors.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/factories.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/documents/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/documents/body.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/documents/exceptions.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/documents/statuses.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/documents/transforms/html.xsl +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/documents/xml.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/identifiers/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/identifiers/fclid.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/identifiers/neutral_citation.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/identifiers/press_summary_ncn.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/identifiers/unpacker.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/judgments.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/neutral_citation_mixin.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/press_summaries.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/utilities/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/utilities/aws.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/utilities/dates.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/models/utilities/move.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/py.typed +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/responses/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/responses/search_response.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/responses/search_result.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/responses/xsl/search_match.xsl +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/search_parameters.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xml_helpers.py +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/break_judgment_checkout.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/checkin_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/checkout_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/copy_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/delete_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/document_collections.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/document_exists.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_combined_stats_table.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_components_for_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_highest_enrichment_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_highest_parser_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_judgment_checkout_status.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_judgment_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_last_modified.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_next_document_sequence_number.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_pending_enrichment_for_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_pending_parse_for_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_properties_for_search_results.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_property_as_node.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_recently_enriched.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_recently_parsed.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_version_annotation.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/get_version_created.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/insert_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/list_judgment_versions.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/resolve_from_identifier_value.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_boolean_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_metadata_citation.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_metadata_court.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_metadata_jurisdiction.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_metadata_name.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_metadata_this_uri.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_metadata_work_expression_date.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/set_property_as_node.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/update_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/update_locked_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/user_has_privilege.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/user_has_role.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/validate_all_documents.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/validate_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/src/caselawclient/xquery/xslt.xqy +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ds-caselaw-marklogic-api-client
|
|
3
|
-
Version: 31.
|
|
3
|
+
Version: 31.1.0
|
|
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
|
|
@@ -21,7 +21,7 @@ Requires-Dist: memoization (>=0.4.0,<0.5.0)
|
|
|
21
21
|
Requires-Dist: mypy-boto3-s3 (>=1.26.104,<2.0.0)
|
|
22
22
|
Requires-Dist: mypy-boto3-sns (>=1.26.69,<2.0.0)
|
|
23
23
|
Requires-Dist: python-dateutil (>=2.9.0-post.0,<3.0.0)
|
|
24
|
-
Requires-Dist: pytz (
|
|
24
|
+
Requires-Dist: pytz (>2024)
|
|
25
25
|
Requires-Dist: requests (>=2.28.2,<3.0.0)
|
|
26
26
|
Requires-Dist: requests-toolbelt (>=0.10.1,<1.1.0)
|
|
27
27
|
Requires-Dist: saxonche (>=12.5.0,<13.0.0)
|
{ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "ds-caselaw-marklogic-api-client"
|
|
3
|
-
version = "31.
|
|
3
|
+
version = "31.1.0"
|
|
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"
|
|
@@ -25,7 +25,7 @@ boto3 = "^1.26.112"
|
|
|
25
25
|
typing-extensions = "^4.7.1"
|
|
26
26
|
mypy-boto3-s3 = "^1.26.104"
|
|
27
27
|
mypy-boto3-sns = "^1.26.69"
|
|
28
|
-
pytz = "
|
|
28
|
+
pytz = ">2024"
|
|
29
29
|
python-dateutil = "^2.9.0-post.0"
|
|
30
30
|
saxonche = "^12.5.0"
|
|
31
31
|
sqids = "^0.5.0"
|
|
@@ -30,7 +30,7 @@ from caselawclient.models.judgments import Judgment
|
|
|
30
30
|
from caselawclient.models.press_summaries import PressSummary
|
|
31
31
|
from caselawclient.models.utilities import move
|
|
32
32
|
from caselawclient.search_parameters import SearchParameters
|
|
33
|
-
from caselawclient.types import DocumentURIString
|
|
33
|
+
from caselawclient.types import DocumentIdentifierSlug, DocumentIdentifierValue, DocumentURIString
|
|
34
34
|
from caselawclient.xquery_type_dicts import (
|
|
35
35
|
MarkLogicDocumentURIString,
|
|
36
36
|
MarkLogicDocumentVersionURIString,
|
|
@@ -1203,11 +1203,13 @@ class MarklogicApiClient:
|
|
|
1203
1203
|
|
|
1204
1204
|
return results
|
|
1205
1205
|
|
|
1206
|
-
def resolve_from_identifier_slug(
|
|
1206
|
+
def resolve_from_identifier_slug(
|
|
1207
|
+
self, identifier_slug: DocumentIdentifierSlug, published_only: bool = True
|
|
1208
|
+
) -> IdentifierResolutions:
|
|
1207
1209
|
"""Given a PUI/EUI url, look up the precomputed slug and return the
|
|
1208
1210
|
MarkLogic document URIs which match that slug. Multiple returns should be anticipated"""
|
|
1209
1211
|
vars: query_dicts.ResolveFromIdentifierSlugDict = {
|
|
1210
|
-
"
|
|
1212
|
+
"identifier_slug": identifier_slug,
|
|
1211
1213
|
"published_only": int(published_only),
|
|
1212
1214
|
}
|
|
1213
1215
|
raw_results: list[str] = get_multipart_strings_from_marklogic_response(
|
|
@@ -1218,14 +1220,8 @@ class MarklogicApiClient:
|
|
|
1218
1220
|
)
|
|
1219
1221
|
return IdentifierResolutions.from_marklogic_output(raw_results)
|
|
1220
1222
|
|
|
1221
|
-
def resolve_from_identifier(self, identifier_uri: str, published_only: bool = True) -> IdentifierResolutions:
|
|
1222
|
-
warnings.warn(
|
|
1223
|
-
"resolve_from_identifier deprecated, use resolve_from_identifier_slug instead", DeprecationWarning
|
|
1224
|
-
)
|
|
1225
|
-
return self.resolve_from_identifier(identifier_uri, published_only)
|
|
1226
|
-
|
|
1227
1223
|
def resolve_from_identifier_value(
|
|
1228
|
-
self, identifier_value:
|
|
1224
|
+
self, identifier_value: DocumentIdentifierValue, published_only: bool = True
|
|
1229
1225
|
) -> IdentifierResolutions:
|
|
1230
1226
|
"""Given a PUI/EUI url, look up the precomputed slug and return the
|
|
1231
1227
|
MarkLogic document URIs which match that slug. Multiple returns should be anticipated"""
|
|
@@ -3,7 +3,7 @@ from typing import NamedTuple
|
|
|
3
3
|
|
|
4
4
|
from caselawclient.models.identifiers import Identifier
|
|
5
5
|
from caselawclient.models.identifiers.unpacker import IDENTIFIER_NAMESPACE_MAP
|
|
6
|
-
from caselawclient.types import
|
|
6
|
+
from caselawclient.types import DocumentIdentifierSlug, DocumentIdentifierValue
|
|
7
7
|
from caselawclient.xquery_type_dicts import MarkLogicDocumentURIString
|
|
8
8
|
|
|
9
9
|
|
|
@@ -31,9 +31,9 @@ class IdentifierResolution(NamedTuple):
|
|
|
31
31
|
|
|
32
32
|
identifier_uuid: str
|
|
33
33
|
document_uri: MarkLogicDocumentURIString
|
|
34
|
-
identifier_slug:
|
|
34
|
+
identifier_slug: DocumentIdentifierSlug
|
|
35
35
|
document_published: bool
|
|
36
|
-
identifier_value:
|
|
36
|
+
identifier_value: DocumentIdentifierValue
|
|
37
37
|
identifier_namespace: str
|
|
38
38
|
identifier_type: type[Identifier]
|
|
39
39
|
|
|
@@ -44,9 +44,9 @@ class IdentifierResolution(NamedTuple):
|
|
|
44
44
|
return IdentifierResolution(
|
|
45
45
|
identifier_uuid=row["documents.compiled_url_slugs.identifier_uuid"],
|
|
46
46
|
document_uri=MarkLogicDocumentURIString(row["documents.compiled_url_slugs.document_uri"]),
|
|
47
|
-
identifier_slug=
|
|
47
|
+
identifier_slug=DocumentIdentifierSlug(row["documents.compiled_url_slugs.identifier_slug"]),
|
|
48
48
|
document_published=row["documents.compiled_url_slugs.document_published"] == "true",
|
|
49
|
-
identifier_value=row["documents.compiled_url_slugs.identifier_value"],
|
|
49
|
+
identifier_value=DocumentIdentifierValue(row["documents.compiled_url_slugs.identifier_value"]),
|
|
50
50
|
identifier_namespace=identifier_namespace,
|
|
51
51
|
identifier_type=IDENTIFIER_NAMESPACE_MAP[identifier_namespace],
|
|
52
52
|
)
|
|
@@ -2,8 +2,29 @@ class InvalidDocumentURIException(Exception):
|
|
|
2
2
|
"""The document URI is not valid."""
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
class InvalidMarkLogicDocumentURIException(Exception):
|
|
6
|
+
"""The MarkLogic document URI is not valid."""
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
class MarkLogicDocumentURIString(str):
|
|
6
|
-
|
|
10
|
+
def __new__(cls, content: str) -> "MarkLogicDocumentURIString":
|
|
11
|
+
# Check that the URI begins with a slash
|
|
12
|
+
if content[0] != "/":
|
|
13
|
+
raise InvalidMarkLogicDocumentURIException(
|
|
14
|
+
f'"{content}" is not a valid MarkLogic document URI; URIs must begin with a slash.'
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
# Check that the URI ends with ".xml"
|
|
18
|
+
if not content.endswith(".xml"):
|
|
19
|
+
raise InvalidMarkLogicDocumentURIException(
|
|
20
|
+
f'"{content}" is not a valid MarkLogic document URI; URIs must end with ".xml". '
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
# If everything is good, return as usual
|
|
24
|
+
return str.__new__(cls, content)
|
|
25
|
+
|
|
26
|
+
def as_document_uri(self) -> "DocumentURIString":
|
|
27
|
+
return DocumentURIString(self.lstrip("/").rstrip(".xml"))
|
|
7
28
|
|
|
8
29
|
|
|
9
30
|
class DocumentURIString(str):
|
|
@@ -29,3 +50,11 @@ class DocumentURIString(str):
|
|
|
29
50
|
|
|
30
51
|
def as_marklogic(self) -> MarkLogicDocumentURIString:
|
|
31
52
|
return MarkLogicDocumentURIString(f"/{self}.xml")
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class DocumentIdentifierSlug(str):
|
|
56
|
+
pass
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class DocumentIdentifierValue(str):
|
|
60
|
+
pass
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
xquery version "1.0-ml";
|
|
2
2
|
|
|
3
3
|
declare namespace xdmp="http://marklogic.com/xdmp";
|
|
4
|
-
declare variable $
|
|
4
|
+
declare variable $identifier_slug as xs:string external;
|
|
5
5
|
declare variable $published_only as xs:int? external := 1;
|
|
6
6
|
|
|
7
7
|
let $published_query := if ($published_only) then " AND document_published = 'true'" else ""
|
|
@@ -11,7 +11,6 @@ return xdmp:sql(
|
|
|
11
11
|
$query,
|
|
12
12
|
"map",
|
|
13
13
|
map:new((
|
|
14
|
-
map:entry("uri", $
|
|
14
|
+
map:entry("uri", $identifier_slug)
|
|
15
15
|
))
|
|
16
16
|
)
|
|
17
|
-
|
|
@@ -28,7 +28,7 @@ let $number_marks_xslt := (
|
|
|
28
28
|
</xsl:template>
|
|
29
29
|
<xsl:template match="mark">
|
|
30
30
|
<xsl:copy>
|
|
31
|
-
<xsl:copy-of select="
|
|
31
|
+
<xsl:copy-of select="*" />
|
|
32
32
|
<xsl:attribute name="id">
|
|
33
33
|
<xsl:text>mark_</xsl:text>
|
|
34
34
|
<xsl:value-of select="count(preceding::mark)"/>
|
|
@@ -7,7 +7,7 @@ checks. They are used to enforce appropriately typed variables being passed in t
|
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
from typing import Any, NewType, Optional, TypedDict
|
|
10
|
-
from caselawclient.types import DocumentURIString
|
|
10
|
+
from caselawclient.types import DocumentURIString, DocumentIdentifierSlug, DocumentIdentifierValue
|
|
11
11
|
from caselawclient.types import MarkLogicDocumentURIString as MarkLogicDocumentURIString
|
|
12
12
|
|
|
13
13
|
MarkLogicDocumentVersionURIString = NewType("MarkLogicDocumentVersionURIString", MarkLogicDocumentURIString)
|
|
@@ -143,13 +143,13 @@ class ListJudgmentVersionsDict(MarkLogicAPIDict):
|
|
|
143
143
|
|
|
144
144
|
# resolve_from_identifier_slug.xqy
|
|
145
145
|
class ResolveFromIdentifierSlugDict(MarkLogicAPIDict):
|
|
146
|
-
|
|
146
|
+
identifier_slug: DocumentIdentifierSlug
|
|
147
147
|
published_only: Optional[int]
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
# resolve_from_identifier_value.xqy
|
|
151
151
|
class ResolveFromIdentifierValueDict(MarkLogicAPIDict):
|
|
152
|
-
identifier_value:
|
|
152
|
+
identifier_value: DocumentIdentifierValue
|
|
153
153
|
published_only: Optional[int]
|
|
154
154
|
|
|
155
155
|
|
{ds_caselaw_marklogic_api_client-31.0.0 → ds_caselaw_marklogic_api_client-31.1.0}/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
|