ds-caselaw-marklogic-api-client 28.1.0__tar.gz → 28.2.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-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/PKG-INFO +3 -2
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/pyproject.toml +3 -2
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/Client.py +4 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/documents/__init__.py +7 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/identifiers/__init__.py +5 -0
- ds_caselaw_marklogic_api_client-28.2.0/src/caselawclient/models/identifiers/fclid.py +48 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/identifiers/unpacker.py +2 -0
- ds_caselaw_marklogic_api_client-28.2.0/src/caselawclient/xquery/get_next_document_sequence_number.xqy +14 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/LICENSE.md +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/README.md +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/client_helpers/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/client_helpers/search_helpers.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/content_hash.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/errors.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/factories.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/identifier_resolution.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/documents/body.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/documents/exceptions.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/documents/statuses.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/documents/transforms/html.xsl +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/documents/xml.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/identifiers/neutral_citation.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/judgments.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/neutral_citation_mixin.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/press_summaries.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/utilities/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/utilities/aws.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/utilities/dates.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/models/utilities/move.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/py.typed +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/responses/__init__.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/responses/search_response.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/responses/search_result.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/responses/xsl/search_match.xsl +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/search_parameters.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xml_helpers.py +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/break_judgment_checkout.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/checkin_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/checkout_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/copy_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/delete_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/document_collections.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/document_exists.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_combined_stats_table.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_components_for_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_highest_enrichment_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_highest_parser_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_judgment_checkout_status.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_judgment_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_last_modified.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_pending_enrichment_for_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_pending_parse_for_version.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_properties_for_search_results.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_property_as_node.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_recently_enriched.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_recently_parsed.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_version_annotation.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/get_version_created.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/insert_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/list_judgment_versions.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/resolve_from_identifier.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_boolean_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_metadata_citation.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_metadata_court.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_metadata_jurisdiction.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_metadata_name.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_metadata_this_uri.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_metadata_work_expression_date.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_property.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/set_property_as_node.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/update_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/update_locked_judgment.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/user_has_privilege.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/user_has_role.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/validate_all_documents.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/validate_document.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/xslt.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/src/caselawclient/xquery/xslt_transform.xqy +0 -0
- {ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/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: 28.
|
|
3
|
+
Version: 28.2.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
|
|
@@ -11,7 +11,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Requires-Dist: boto3 (>=1.26.112,<2.0.0)
|
|
14
|
-
Requires-Dist: certifi (>=2024.
|
|
14
|
+
Requires-Dist: certifi (>=2024.12.14,<2024.13.0)
|
|
15
15
|
Requires-Dist: charset-normalizer (>=3.0.0,<4.0.0)
|
|
16
16
|
Requires-Dist: django-environ (>=0.11.0,<0.12.0)
|
|
17
17
|
Requires-Dist: ds-caselaw-utils (>=2.0.0,<3.0.0)
|
|
@@ -25,6 +25,7 @@ Requires-Dist: pytz (>=2024.1,<2025.0)
|
|
|
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)
|
|
28
|
+
Requires-Dist: sqids (>=0.5.0,<0.6.0)
|
|
28
29
|
Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
|
|
29
30
|
Description-Content-Type: text/markdown
|
|
30
31
|
|
{ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.0}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "ds-caselaw-marklogic-api-client"
|
|
3
|
-
version = "28.
|
|
3
|
+
version = "28.2.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"
|
|
@@ -12,7 +12,7 @@ packages = [
|
|
|
12
12
|
|
|
13
13
|
[tool.poetry.dependencies]
|
|
14
14
|
python = "^3.9"
|
|
15
|
-
certifi = ">=2024.
|
|
15
|
+
certifi = ">=2024.12.14,<2024.13.0"
|
|
16
16
|
charset-normalizer = "^3.0.0"
|
|
17
17
|
django-environ = "^0.11.0"
|
|
18
18
|
idna = "^3.4"
|
|
@@ -28,6 +28,7 @@ mypy-boto3-sns = "^1.26.69"
|
|
|
28
28
|
pytz = "^2024.1"
|
|
29
29
|
python-dateutil = "^2.9.0-post.0"
|
|
30
30
|
saxonche = "^12.5.0"
|
|
31
|
+
sqids = "^0.5.0"
|
|
31
32
|
|
|
32
33
|
[tool.poetry.group.dev.dependencies]
|
|
33
34
|
coverage = "^7.2.3"
|
|
@@ -1217,3 +1217,7 @@ class MarklogicApiClient:
|
|
|
1217
1217
|
),
|
|
1218
1218
|
)
|
|
1219
1219
|
return IdentifierResolutions.from_marklogic_output(raw_results)
|
|
1220
|
+
|
|
1221
|
+
def get_next_document_sequence_number(self) -> int:
|
|
1222
|
+
"""Increment the MarkLogic sequence number by one and return the value."""
|
|
1223
|
+
return int(self._eval_and_decode({}, "get_next_document_sequence_number.xqy"))
|
|
@@ -15,6 +15,7 @@ from caselawclient.errors import (
|
|
|
15
15
|
NotSupportedOnVersion,
|
|
16
16
|
OnlySupportedOnVersion,
|
|
17
17
|
)
|
|
18
|
+
from caselawclient.models.identifiers.fclid import FindCaseLawIdentifier, FindCaseLawIdentifierSchema
|
|
18
19
|
from caselawclient.models.identifiers.unpacker import unpack_all_identifiers_from_etree
|
|
19
20
|
from caselawclient.models.utilities import VersionsDict, extract_version, render_versions
|
|
20
21
|
from caselawclient.models.utilities.aws import (
|
|
@@ -432,6 +433,12 @@ class Document:
|
|
|
432
433
|
if not self.is_publishable:
|
|
433
434
|
raise CannotPublishUnpublishableDocument
|
|
434
435
|
|
|
436
|
+
## If it doesn't already have one, get a new FCLID for this document and assign
|
|
437
|
+
if len(self.identifiers.of_type(FindCaseLawIdentifier)) < 1:
|
|
438
|
+
document_fclid = FindCaseLawIdentifierSchema.mint(self.api_client)
|
|
439
|
+
self.identifiers.add(document_fclid)
|
|
440
|
+
self.save_identifiers()
|
|
441
|
+
|
|
435
442
|
publish_documents(uri_for_s3(self.uri))
|
|
436
443
|
self.api_client.set_published(self.uri, True)
|
|
437
444
|
announce_document_event(
|
|
@@ -127,6 +127,11 @@ class Identifiers(dict[str, Identifier]):
|
|
|
127
127
|
else:
|
|
128
128
|
super().__delitem__(key)
|
|
129
129
|
|
|
130
|
+
def of_type(self, identifier_type: type[Identifier]) -> list[Identifier]:
|
|
131
|
+
"""Return a list of all identifiers of a given type."""
|
|
132
|
+
uuids = self.keys()
|
|
133
|
+
return [self[uuid] for uuid in list(uuids) if isinstance(self[uuid], identifier_type)]
|
|
134
|
+
|
|
130
135
|
def delete_type(self, deleted_identifier_type: type[Identifier]) -> None:
|
|
131
136
|
"For when we want an identifier to be the only valid identifier of that type, delete the others first"
|
|
132
137
|
uuids = self.keys()
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from typing import TYPE_CHECKING
|
|
3
|
+
|
|
4
|
+
from sqids import Sqids
|
|
5
|
+
|
|
6
|
+
from . import Identifier, IdentifierSchema
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from caselawclient.Client import MarklogicApiClient
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
VALID_FCLID_PATTERN = re.compile(r"^[bcdfghjkmnpqrstvwxyz23456789]{4,}$")
|
|
13
|
+
|
|
14
|
+
FCLID_MINIMUM_LENGTH = 8
|
|
15
|
+
FCLID_ALPHABET = "bcdfghjkmnpqrstvwxyz23456789"
|
|
16
|
+
|
|
17
|
+
sqids = Sqids(
|
|
18
|
+
min_length=FCLID_MINIMUM_LENGTH,
|
|
19
|
+
alphabet=FCLID_ALPHABET,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FindCaseLawIdentifierSchema(IdentifierSchema):
|
|
24
|
+
"""
|
|
25
|
+
Identifier schema describing a Find Case Law Identifier.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
name = "Find Case Law Identifier"
|
|
29
|
+
namespace = "fclid"
|
|
30
|
+
|
|
31
|
+
@classmethod
|
|
32
|
+
def validate_identifier(cls, value: str) -> bool:
|
|
33
|
+
return bool(VALID_FCLID_PATTERN.match(value))
|
|
34
|
+
|
|
35
|
+
@classmethod
|
|
36
|
+
def compile_identifier_url_slug(cls, value: str) -> str:
|
|
37
|
+
return "tna." + value
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def mint(cls, api_client: "MarklogicApiClient") -> "FindCaseLawIdentifier":
|
|
41
|
+
"""Generate a totally new Find Case Law identifier."""
|
|
42
|
+
next_sequence_number = api_client.get_next_document_sequence_number()
|
|
43
|
+
new_identifier = sqids.encode([next_sequence_number])
|
|
44
|
+
return FindCaseLawIdentifier(value=new_identifier)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class FindCaseLawIdentifier(Identifier):
|
|
48
|
+
schema = FindCaseLawIdentifierSchema
|
|
@@ -3,9 +3,11 @@ from typing import Optional
|
|
|
3
3
|
from lxml import etree
|
|
4
4
|
|
|
5
5
|
from . import IDENTIFIER_UNPACKABLE_ATTRIBUTES, Identifier, Identifiers, InvalidIdentifierXMLRepresentationException
|
|
6
|
+
from .fclid import FindCaseLawIdentifier
|
|
6
7
|
from .neutral_citation import NeutralCitationNumber
|
|
7
8
|
|
|
8
9
|
IDENTIFIER_NAMESPACE_MAP: dict[str, type[Identifier]] = {
|
|
10
|
+
"fclid": FindCaseLawIdentifier,
|
|
9
11
|
"ukncn": NeutralCitationNumber,
|
|
10
12
|
}
|
|
11
13
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
xquery version "1.0-ml";
|
|
2
|
+
declare option xdmp:transaction-mode "update";
|
|
3
|
+
|
|
4
|
+
let $_ := xdmp:set-transaction-mode("update")
|
|
5
|
+
let $state_doc := fn:doc("state.xml")
|
|
6
|
+
let $counter_node := $state_doc/state/document_counter
|
|
7
|
+
|
|
8
|
+
let $current_counter := $counter_node/text()
|
|
9
|
+
let $new_counter := fn:sum(($current_counter, 1))
|
|
10
|
+
|
|
11
|
+
let $_ := xdmp:node-replace($counter_node, <document_counter>{$new_counter}</document_counter>)
|
|
12
|
+
let $_ := xdmp:commit()
|
|
13
|
+
|
|
14
|
+
return $new_counter
|
{ds_caselaw_marklogic_api_client-28.1.0 → ds_caselaw_marklogic_api_client-28.2.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
|