ds-caselaw-marklogic-api-client 8.0.0__py3-none-any.whl → 10.0.0__py3-none-any.whl

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.
caselawclient/Client.py CHANGED
@@ -327,18 +327,18 @@ class MarklogicApiClient:
327
327
 
328
328
  return self._send_to_eval(vars, "update_judgment.xqy")
329
329
 
330
- def insert_judgment_xml(
331
- self, judgment_uri: str, judgment_xml: Element
330
+ def insert_document_xml(
331
+ self, document_uri: str, document_xml: Element
332
332
  ) -> requests.Response:
333
- xml = ElementTree.tostring(judgment_xml)
333
+ xml = ElementTree.tostring(document_xml)
334
334
 
335
- uri = self._format_uri_for_marklogic(judgment_uri)
336
- vars: query_dicts.InsertJudgmentDict = {
335
+ uri = self._format_uri_for_marklogic(document_uri)
336
+ vars: query_dicts.InsertDocumentDict = {
337
337
  "uri": uri,
338
- "judgment": xml.decode("utf-8"),
338
+ "document": xml.decode("utf-8"),
339
339
  }
340
340
 
341
- return self._send_to_eval(vars, "insert_judgment.xqy")
341
+ return self._send_to_eval(vars, "insert_document.xqy")
342
342
 
343
343
  def list_judgment_versions(self, judgment_uri: str) -> requests.Response:
344
344
  uri = self._format_uri_for_marklogic(judgment_uri)
@@ -437,7 +437,7 @@ class MarklogicApiClient:
437
437
  """
438
438
  Performs a search on the entire document set.
439
439
 
440
- :param q:
440
+ :param query:
441
441
  :param court:
442
442
  :param judge:
443
443
  :param party:
File without changes
@@ -0,0 +1,39 @@
1
+ from caselawclient.Client import MarklogicApiClient
2
+ from caselawclient.responses.search_response import SearchResponse
3
+ from caselawclient.search_parameters import SearchParameters
4
+
5
+
6
+ def search_judgments_and_parse_response(
7
+ api_client: MarklogicApiClient, search_parameters: SearchParameters
8
+ ) -> SearchResponse:
9
+ """
10
+ Search for judgments using the given search parameters and parse the response into a SearchResponse object.
11
+
12
+ Args:
13
+ api_client (MarklogicApiClient): An instance of MarklogicApiClient used to make the search request.
14
+ search_parameters (SearchParameters): An instance of SearchParameters containing the search parameters.
15
+
16
+ Returns:
17
+ SearchResponse: The parsed search response as a SearchResponse object.
18
+ """
19
+ return SearchResponse.from_response_string(
20
+ api_client.search_judgments_and_decode_response(search_parameters)
21
+ )
22
+
23
+
24
+ def search_and_parse_response(
25
+ api_client: MarklogicApiClient, search_parameters: SearchParameters
26
+ ) -> SearchResponse:
27
+ """
28
+ Search using the given search parameters and parse the response into a SearchResponse object.
29
+
30
+ Args:
31
+ api_client (MarklogicApiClient): An instance of MarklogicApiClient used to make the search request.
32
+ search_parameters (SearchParameters): An instance of SearchParameters containing the search parameters.
33
+
34
+ Returns:
35
+ SearchResponse: The parsed search response as a SearchResponse object.
36
+ """
37
+ return SearchResponse.from_response_string(
38
+ api_client.search_and_decode_response(search_parameters)
39
+ )
@@ -8,7 +8,7 @@ RESULTS_PER_PAGE = 10
8
8
  class SearchParameters:
9
9
  """Represents search parameters for a case law search."""
10
10
 
11
- q: Optional[str] = None
11
+ query: Optional[str] = None
12
12
  court: Optional[str] = None
13
13
  judge: Optional[str] = None
14
14
  party: Optional[str] = None
@@ -33,7 +33,7 @@ class SearchParameters:
33
33
  "judge": str(self.judge or ""),
34
34
  "page": max(1, int(self.page)),
35
35
  "page-size": int(self.page_size),
36
- "q": str(self.q or ""),
36
+ "q": str(self.query or ""),
37
37
  "party": str(self.party or ""),
38
38
  "neutral_citation": str(self.neutral_citation or ""),
39
39
  "specific_keyword": str(self.specific_keyword or ""),
@@ -0,0 +1,15 @@
1
+ xquery version "1.0-ml";
2
+
3
+ import module namespace dls = "http://marklogic.com/xdmp/dls" at "/MarkLogic/dls.xqy";
4
+
5
+ declare variable $uri as xs:string external;
6
+ declare variable $document as xs:string external;
7
+
8
+ let $document_xml := xdmp:unquote($document)
9
+
10
+ let $collections :=
11
+ if (fn:contains($uri, 'press_summary'))
12
+ then ("press_summary")
13
+ else ("judgment")
14
+
15
+ return dls:document-insert-and-manage($uri, fn:true(), $document_xml, (), (), $collections)
@@ -90,9 +90,9 @@ class GetPropertyDict(MarkLogicAPIDict):
90
90
  uri: str
91
91
 
92
92
 
93
- # insert_judgment.xqy
94
- class InsertJudgmentDict(MarkLogicAPIDict):
95
- judgment: str
93
+ # insert_document.xqy
94
+ class InsertDocumentDict(MarkLogicAPIDict):
95
+ document: str
96
96
  uri: str
97
97
 
98
98
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ds-caselaw-marklogic-api-client
3
- Version: 8.0.0
3
+ Version: 10.0.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
@@ -1,5 +1,7 @@
1
- caselawclient/Client.py,sha256=e3OSfJCsiiAc4cFl4ANafV_QnSuvKVOSFopt5SLN0G8,27558
1
+ caselawclient/Client.py,sha256=d-Bt8XzULEZWIcH7CmzvmHzZW8ZOOeVrIEK-fSKfj-I,27562
2
2
  caselawclient/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ caselawclient/client_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ caselawclient/client_helpers/search_helpers.py,sha256=ROSdXQC826hYqymf0QbPT0tE0javV5EuwKzC9buCRk4,1580
3
5
  caselawclient/content_hash.py,sha256=DF7ujrQPNf1bTSbK0mIIaC5qx6CmF5I0xlQ7uIG0zYI,2236
4
6
  caselawclient/errors.py,sha256=LEaQlLPJf6VgvTtK9CMBVLXJJPNSfidPd9BULLzzu1I,2526
5
7
  caselawclient/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -11,7 +13,7 @@ caselawclient/responses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
11
13
  caselawclient/responses/search_response.py,sha256=d9stoYrKroZ6iSzT9qa8YyuqESBruHYOzsSkdtCKpKI,1697
12
14
  caselawclient/responses/search_result.py,sha256=_zCfvlbC3x0CkDM84oU8WviKaMdedKxTUR3Mxghw65Y,6999
13
15
  caselawclient/responses/xsl/search_match.xsl,sha256=g_CYe8bOQ-Hnzt1YaobbdEP5B71XtEJhJG8jrfc9rG0,918
14
- caselawclient/search_parameters.py,sha256=4Vn388bAwsuuxMBvceQtN1DB0ABSIWI9dYfaeQK2u8E,3001
16
+ caselawclient/search_parameters.py,sha256=VKFdeoiDlD_OUDYOOUKHpsBR49C8DNxuBJcSVUYVIXY,3009
15
17
  caselawclient/xml_tools.py,sha256=SzzRYp02cL_jTdTqaVQ7VO5UjWaZrI9R8p8WsR2ZKzY,3821
16
18
  caselawclient/xquery/break_judgment_checkout.xqy,sha256=rISzoBKxQKrP5ZRdCSoRqOXW8T_NDBSZRFjOXo_H3ns,220
17
19
  caselawclient/xquery/checkin_judgment.xqy,sha256=QeGqO3kL-q0UrjopCVU0lCbkwbyoc5SuNLYFAIbbyMg,197
@@ -28,7 +30,7 @@ caselawclient/xquery/get_metadata_name.xqy,sha256=HtWe8oDMVudnaXMXUPJI1Jc8DpjCm-
28
30
  caselawclient/xquery/get_metadata_work_date.xqy,sha256=lR7uPil7S8tFYYiGSjlJlcEoyleZEO3m2ik1Er7C67E,358
29
31
  caselawclient/xquery/get_properties_for_search_results.xqy,sha256=xYL9dNuEyYiteHuvGqDxlr36HFI8LeEa3v8eTMAbdZg,594
30
32
  caselawclient/xquery/get_property.xqy,sha256=RHlOTrK0aH-S7s_ykYzGmUeKOJxXlI4vE5sKRt556NY,209
31
- caselawclient/xquery/insert_judgment.xqy,sha256=rc-B-VgoqdvepOMG7lB4srmK42saaCOKAp9EGFctJ28,326
33
+ caselawclient/xquery/insert_document.xqy,sha256=pN0kmsCwuCYCtuu4E85WBLmvuNnlckOH7UmUEtTR25k,456
32
34
  caselawclient/xquery/judgment_exists.xqy,sha256=eh9pttmU9THjoUWT4eYckzJvWlHrAyKYbGjbCJvzscY,95
33
35
  caselawclient/xquery/list_judgment_versions.xqy,sha256=WShga8igeD21hSLfVSvCOiDMPDhNH6KGf1OW6G0SAkY,190
34
36
  caselawclient/xquery/set_boolean_property.xqy,sha256=8Vg3yDWqeDynUJQHw2OF4daDIKTnp8ARol1_OCqY0Dk,355
@@ -45,8 +47,8 @@ caselawclient/xquery/user_has_role.xqy,sha256=52YuFZnXqaDDJs-j_UanpqcLNEiw_m9xb0
45
47
  caselawclient/xquery/validate_all_documents.xqy,sha256=z_0YEXmRcZ-FaJM0ouKiTjdI4tLKQ4FTssRihR07qFk,156
46
48
  caselawclient/xquery/xslt.xqy,sha256=w57wNijH3dkwHkpKeAxqjlghVflQwo8cq6jS_sm-erM,199
47
49
  caselawclient/xquery/xslt_transform.xqy,sha256=6OX2cYua_VmkuQlkRg4PIKyCCE6f790f89ibL_QyEUI,1381
48
- caselawclient/xquery_type_dicts.py,sha256=x-ONDTo5Uno7aJ0rm2on4i7FQUKcdBmF05IIhEyEgJA,3536
49
- ds_caselaw_marklogic_api_client-8.0.0.dist-info/LICENSE.md,sha256=fGMzyyLuQW-IAXUeDSCrRdsYW536aEWThdbpCjo6ZKg,1108
50
- ds_caselaw_marklogic_api_client-8.0.0.dist-info/METADATA,sha256=YQVkixadH1v71sbaqAeajWscwmDfbfEWM1QhSCB3o1U,4182
51
- ds_caselaw_marklogic_api_client-8.0.0.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
52
- ds_caselaw_marklogic_api_client-8.0.0.dist-info/RECORD,,
50
+ caselawclient/xquery_type_dicts.py,sha256=szdowMr3yDiyCeFXmf4al1j8UrljXLpiAljZI3Hzvhc,3536
51
+ ds_caselaw_marklogic_api_client-10.0.0.dist-info/LICENSE.md,sha256=fGMzyyLuQW-IAXUeDSCrRdsYW536aEWThdbpCjo6ZKg,1108
52
+ ds_caselaw_marklogic_api_client-10.0.0.dist-info/METADATA,sha256=-eY2qYefW9mR5-Nt0EJ3FgiXPUjaYVUTQlfawo16ec0,4183
53
+ ds_caselaw_marklogic_api_client-10.0.0.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
54
+ ds_caselaw_marklogic_api_client-10.0.0.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- xquery version "1.0-ml";
2
-
3
- import module namespace dls = "http://marklogic.com/xdmp/dls" at "/MarkLogic/dls.xqy";
4
-
5
- declare variable $uri as xs:string external;
6
- declare variable $judgment as xs:string external;
7
-
8
- let $judgment_xml := xdmp:unquote($judgment)
9
-
10
- return dls:document-insert-and-manage($uri, fn:true(), $judgment_xml)