ds-caselaw-marklogic-api-client 29.0.1__tar.gz → 29.1.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.

Potentially problematic release.


This version of ds-caselaw-marklogic-api-client might be problematic. Click here for more details.

Files changed (84) hide show
  1. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/PKG-INFO +2 -2
  2. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/pyproject.toml +2 -2
  3. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/errors.py +1 -3
  4. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/documents/body.py +1 -2
  5. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/identifiers/__init__.py +3 -0
  6. ds_caselaw_marklogic_api_client-29.1.1/src/caselawclient/models/identifiers/press_summary_ncn.py +20 -0
  7. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/utilities/aws.py +2 -4
  8. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_judgment.xqy +5 -2
  9. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/LICENSE.md +0 -0
  10. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/README.md +0 -0
  11. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/Client.py +0 -0
  12. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/__init__.py +0 -0
  13. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/client_helpers/__init__.py +0 -0
  14. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/client_helpers/search_helpers.py +0 -0
  15. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/content_hash.py +0 -0
  16. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/factories.py +0 -0
  17. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/identifier_resolution.py +0 -0
  18. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/__init__.py +0 -0
  19. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/documents/__init__.py +0 -0
  20. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/documents/exceptions.py +0 -0
  21. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/documents/statuses.py +0 -0
  22. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/documents/transforms/html.xsl +0 -0
  23. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/documents/xml.py +0 -0
  24. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/identifiers/fclid.py +0 -0
  25. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/identifiers/neutral_citation.py +0 -0
  26. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/identifiers/unpacker.py +0 -0
  27. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/judgments.py +0 -0
  28. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/neutral_citation_mixin.py +0 -0
  29. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/press_summaries.py +0 -0
  30. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/utilities/__init__.py +0 -0
  31. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/utilities/dates.py +0 -0
  32. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/models/utilities/move.py +0 -0
  33. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/py.typed +0 -0
  34. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/responses/__init__.py +0 -0
  35. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/responses/search_response.py +0 -0
  36. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/responses/search_result.py +0 -0
  37. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/responses/xsl/search_match.xsl +0 -0
  38. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/search_parameters.py +0 -0
  39. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xml_helpers.py +0 -0
  40. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/break_judgment_checkout.xqy +0 -0
  41. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/checkin_judgment.xqy +0 -0
  42. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/checkout_judgment.xqy +0 -0
  43. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/copy_document.xqy +0 -0
  44. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/delete_judgment.xqy +0 -0
  45. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/document_collections.xqy +0 -0
  46. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/document_exists.xqy +0 -0
  47. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_combined_stats_table.xqy +0 -0
  48. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_components_for_document.xqy +0 -0
  49. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_highest_enrichment_version.xqy +0 -0
  50. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_highest_parser_version.xqy +0 -0
  51. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_judgment_checkout_status.xqy +0 -0
  52. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_judgment_version.xqy +0 -0
  53. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_last_modified.xqy +0 -0
  54. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_next_document_sequence_number.xqy +0 -0
  55. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_pending_enrichment_for_version.xqy +0 -0
  56. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_pending_parse_for_version.xqy +0 -0
  57. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_properties_for_search_results.xqy +0 -0
  58. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_property.xqy +0 -0
  59. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_property_as_node.xqy +0 -0
  60. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_recently_enriched.xqy +0 -0
  61. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_recently_parsed.xqy +0 -0
  62. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_version_annotation.xqy +0 -0
  63. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/get_version_created.xqy +0 -0
  64. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/insert_document.xqy +0 -0
  65. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/list_judgment_versions.xqy +0 -0
  66. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/resolve_from_identifier.xqy +0 -0
  67. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_boolean_property.xqy +0 -0
  68. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_metadata_citation.xqy +0 -0
  69. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_metadata_court.xqy +0 -0
  70. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_metadata_jurisdiction.xqy +0 -0
  71. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_metadata_name.xqy +0 -0
  72. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_metadata_this_uri.xqy +0 -0
  73. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_metadata_work_expression_date.xqy +0 -0
  74. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_property.xqy +0 -0
  75. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/set_property_as_node.xqy +0 -0
  76. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/update_document.xqy +0 -0
  77. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/update_locked_judgment.xqy +0 -0
  78. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/user_has_privilege.xqy +0 -0
  79. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/user_has_role.xqy +0 -0
  80. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/validate_all_documents.xqy +0 -0
  81. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/validate_document.xqy +0 -0
  82. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/xslt.xqy +0 -0
  83. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.1}/src/caselawclient/xquery/xslt_transform.xqy +0 -0
  84. {ds_caselaw_marklogic_api_client-29.0.1 → ds_caselaw_marklogic_api_client-29.1.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.1
3
+ Version: 29.1.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
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3.11
13
13
  Requires-Dist: boto3 (>=1.26.112,<2.0.0)
14
14
  Requires-Dist: certifi (>=2024.12.14,<2024.13.0)
15
15
  Requires-Dist: charset-normalizer (>=3.0.0,<4.0.0)
16
- Requires-Dist: django-environ (>=0.11.0,<0.12.0)
16
+ Requires-Dist: django-environ (>=0.12.0)
17
17
  Requires-Dist: ds-caselaw-utils (>=2.0.0,<3.0.0)
18
18
  Requires-Dist: idna (>=3.4,<4.0)
19
19
  Requires-Dist: lxml (>=5.0.0,<6.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ds-caselaw-marklogic-api-client"
3
- version = "29.0.1"
3
+ version = "29.1.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"
@@ -14,7 +14,7 @@ packages = [
14
14
  python = "^3.9"
15
15
  certifi = ">=2024.12.14,<2024.13.0"
16
16
  charset-normalizer = "^3.0.0"
17
- django-environ = "^0.11.0"
17
+ django-environ = ">=0.12.0"
18
18
  idna = "^3.4"
19
19
  requests = "^2.28.2"
20
20
  requests-toolbelt = ">=0.10.1,<1.1.0"
@@ -37,9 +37,7 @@ class MarklogicResourceUnmanagedError(MarklogicAPIError):
37
37
 
38
38
  status_code = 404
39
39
  default_message = (
40
- "The resource isn't managed. "
41
- "It probably doesn't exist, and if it does, that's a problem. "
42
- "Please report it."
40
+ "The resource isn't managed. It probably doesn't exist, and if it does, that's a problem. Please report it."
43
41
  )
44
42
 
45
43
 
@@ -91,8 +91,7 @@ class DocumentBody:
91
91
  ) -> list[datetime.datetime]:
92
92
  name_filter = f"[@name='{name}']" if name else ""
93
93
  iso_datetimes = self._xml.get_xpath_match_strings(
94
- "/akn:akomaNtoso/akn:*/akn:meta/akn:identification/akn:FRBRManifestation"
95
- f"/akn:FRBRdate{name_filter}/@date",
94
+ f"/akn:akomaNtoso/akn:*/akn:meta/akn:identification/akn:FRBRManifestation/akn:FRBRdate{name_filter}/@date",
96
95
  {"akn": "http://docs.oasis-open.org/legaldocml/ns/akn/3.0"},
97
96
  )
98
97
 
@@ -83,6 +83,9 @@ class Identifier(ABC):
83
83
  def __repr__(self) -> str:
84
84
  return f"<{self.schema.name} {self.value}: {self.uuid}>"
85
85
 
86
+ def __str__(self) -> str:
87
+ return self.value
88
+
86
89
  def __init__(self, value: str, uuid: Optional[str] = None) -> None:
87
90
  self.value = value
88
91
  if uuid:
@@ -0,0 +1,20 @@
1
+ from .neutral_citation import NeutralCitationNumber, NeutralCitationNumberSchema
2
+
3
+
4
+ class PressSummaryRelatedNCNIdentifierSchema(NeutralCitationNumberSchema):
5
+ """
6
+ Identifier schema for relating a Press Summary to a Judgment with a given NCN
7
+ """
8
+
9
+ name = "Press Summary relates to NCN"
10
+ namespace = "uksummaryofncn"
11
+ human_readable = True
12
+ base_score_multiplier = 0.5
13
+
14
+ @classmethod
15
+ def compile_identifier_url_slug(cls, value: str) -> str:
16
+ return super().compile_identifier_url_slug(value) + "/press-summary"
17
+
18
+
19
+ class PressSummaryRelatedNCNIdentifier(NeutralCitationNumber):
20
+ schema = NeutralCitationNumberSchema
@@ -95,7 +95,7 @@ def check_docx_exists(uri: str) -> bool:
95
95
 
96
96
  def generate_docx_key(uri: str) -> str:
97
97
  """from a canonical caselaw URI (eat/2022/1) return the S3 key of the associated docx"""
98
- return f'{uri}/{uri.replace("/", "_")}.docx'
98
+ return f"{uri}/{uri.replace('/', '_')}.docx"
99
99
 
100
100
 
101
101
  def generate_docx_url(uri: str) -> str:
@@ -104,7 +104,7 @@ def generate_docx_url(uri: str) -> str:
104
104
 
105
105
 
106
106
  def generate_pdf_url(uri: str) -> str:
107
- key = f'{uri}/{uri.replace("/", "_")}.pdf'
107
+ key = f"{uri}/{uri.replace('/', '_')}.pdf"
108
108
 
109
109
  return generate_signed_asset_url(key)
110
110
 
@@ -251,8 +251,6 @@ def request_parse(
251
251
  },
252
252
  }
253
253
 
254
- # breakpoint()
255
-
256
254
  client.publish(
257
255
  TopicArn=env("REPARSE_SNS_TOPIC"),
258
256
  Message=json.dumps(message_to_send),
@@ -14,6 +14,7 @@ declare variable $search_query as xs:string? external;
14
14
  let $number_marks_xslt := (
15
15
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
16
16
  xmlns:uk="https://caselaw.nationalarchives.gov.uk/akn"
17
+ xmlns:akn="http://docs.oasis-open.org/legaldocml/ns/akn/3.0"
17
18
  version="2.0">
18
19
  <xsl:output method="xml" />
19
20
  <xsl:template match="@*|node()">
@@ -21,12 +22,15 @@ let $number_marks_xslt := (
21
22
  <xsl:apply-templates select="@*|node()"/>
22
23
  </xsl:copy>
23
24
  </xsl:template>
25
+ <xsl:template match="//akn:meta//uk:mark">
26
+ <xsl:apply-templates />
27
+ </xsl:template>
24
28
  <xsl:template match="uk:mark">
25
29
  <xsl:copy>
26
30
  <xsl:copy-of select="@*" />
27
31
  <xsl:attribute name="id">
28
32
  <xsl:text>mark_</xsl:text>
29
- <xsl:value-of select="count(preceding::uk:mark)"/>
33
+ <xsl:number count="//uk:mark" level="any" from="//*[ancestor::akn:meta]" />
30
34
  </xsl:attribute>
31
35
  <xsl:apply-templates />
32
36
  </xsl:copy>
@@ -62,5 +66,4 @@ let $transformed := if($search_query) then
62
66
  else
63
67
  $raw_xml
64
68
 
65
-
66
69
  return $transformed