kodexa 7.4.412795054059__py3-none-any.whl → 7.4.412806034916__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
kodexa/platform/client.py CHANGED
@@ -4577,7 +4577,7 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
4577
4577
 
4578
4578
  def unlock(self):
4579
4579
  """
4580
- Lock the document family.
4580
+ Unlock the document family.
4581
4581
  """
4582
4582
  url = f"/api/stores/{self.store_ref.replace(':', '/')}/families/{self.id}/unlock"
4583
4583
  response = self.client.put(url)
@@ -4616,6 +4616,35 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
4616
4616
  url = f"/api/documentFamilies/{self.id}/externalData"
4617
4617
  response = self.client.put(url, body=external_data)
4618
4618
  return response.json()
4619
+
4620
+ def get_json(
4621
+ self,
4622
+ project_id: str,
4623
+ friendly_names=False,
4624
+ ) -> str:
4625
+ """Get the JSON export for the document family
4626
+
4627
+ Args:
4628
+ project_id str: The project ID
4629
+ friendly_names (bool): Whether to use friendly names. Defaults to False
4630
+
4631
+ Returns:
4632
+ str: The JSON
4633
+ """
4634
+ if project_id is None:
4635
+ raise Exception(
4636
+ f"Project ID is required"
4637
+ )
4638
+
4639
+ url = f"/api/stores/{self.store_ref.replace(':', '/')}/families/{self.id}/dataObjects"
4640
+ params = {
4641
+ "format": "json",
4642
+ "friendlyNames": friendly_names,
4643
+ "projectId": project_id,
4644
+ }
4645
+
4646
+ response = self.client.get(url, params=params)
4647
+ return response.text
4619
4648
 
4620
4649
  def export(self) -> bytes:
4621
4650
  """
@@ -4651,6 +4680,7 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
4651
4680
  mixin: Optional[str] = None,
4652
4681
  label: Optional[str] = None,
4653
4682
  timeout: int = 60,
4683
+ polling_delay_in_seconds: int = 5,
4654
4684
  ) -> "DocumentFamilyEndpoint":
4655
4685
  """
4656
4686
  Wait for the document family to be ready.
@@ -4659,6 +4689,7 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
4659
4689
  mixin (Optional[str]): The mixin. Defaults to None.
4660
4690
  label (Optional[str]): The label. Defaults to None.
4661
4691
  timeout (int): The timeout. Defaults to 60.
4692
+ polling_delay_in_seconds (int): The polling delay in seconds. Defaults to 5. 5 is the minimum value.
4662
4693
 
4663
4694
  Returns:
4664
4695
  DocumentFamilyEndpoint: The updated document family endpoint.
@@ -4667,6 +4698,9 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
4667
4698
  "Waiting for mixin and/or label to be available on document family %s",
4668
4699
  self.id,
4669
4700
  )
4701
+ if polling_delay_in_seconds < 5:
4702
+ polling_delay_in_seconds = 5
4703
+
4670
4704
  start = time.time()
4671
4705
  while time.time() - start < timeout:
4672
4706
  url = f"/api/stores/{self.store_ref.replace(':', '/')}/families/{self.id}"
@@ -4680,7 +4714,7 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
4680
4714
  ):
4681
4715
  return updated_document_family
4682
4716
 
4683
- time.sleep(5)
4717
+ time.sleep(polling_delay_in_seconds)
4684
4718
 
4685
4719
  raise Exception(f"Not available on document family {self.id}")
4686
4720
 
@@ -5108,7 +5142,6 @@ class DataStoreEndpoint(StoreEndpoint):
5108
5142
  path: Optional[str] = None,
5109
5143
  root_name: str = "",
5110
5144
  friendly_names=True,
5111
- project_id: Optional[str] = None,
5112
5145
  ) -> str:
5113
5146
  """Get the data objects export of the store
5114
5147
 
@@ -5118,7 +5151,6 @@ class DataStoreEndpoint(StoreEndpoint):
5118
5151
  path (Optional[str]): The path to the data object
5119
5152
  root_name (str): The root name of the data objects export
5120
5153
  friendly_names (bool): Whether to use friendly names. Defaults to True
5121
- project_id (Optional[str]): The project ID
5122
5154
 
5123
5155
  Returns:
5124
5156
  str: The data objects export of the store
@@ -5134,16 +5166,13 @@ class DataStoreEndpoint(StoreEndpoint):
5134
5166
 
5135
5167
  if path:
5136
5168
  params["path"] = path
5137
-
5138
- if project_id:
5139
- params["projectId"] = project_id
5140
5169
 
5141
5170
  if output_format == "csv" and not path:
5142
5171
  raise ValueError("CSV output requires a path")
5143
5172
 
5144
5173
  response = self.client.get(url, params=params)
5145
5174
  return response.text
5146
-
5175
+
5147
5176
  def get_taxonomies(self) -> List[Taxonomy]:
5148
5177
  """Get the taxonomies of the store
5149
5178
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kodexa
3
- Version: 7.4.412795054059
3
+ Version: 7.4.412806034916
4
4
  Summary: Python SDK for the Kodexa Platform
5
5
  Author: Austin Redenbaugh
6
6
  Author-email: austin@kodexa.com
@@ -19,7 +19,7 @@ kodexa/model/utils.py,sha256=6R-3rFiW9irBwj0Mq5yhp7EDXkNUFaeFhr3bWmnlW4g,2961
19
19
  kodexa/pipeline/__init__.py,sha256=sA7f5D6qkdMrpp2xTIeefnrUBI6xxEEWostvxfX_1Cs,236
20
20
  kodexa/pipeline/pipeline.py,sha256=Z4O6UwoISeP_HMlxm6l6kbcvFBDw3Glm7lT4cUibri4,25461
21
21
  kodexa/platform/__init__.py,sha256=1O3oiWMg292NPL_NacKDnK1T3_R6cMorrPRue_9e-O4,216
22
- kodexa/platform/client.py,sha256=U4p3epTlARDeRJ8CM00-P0N1CCH5XikDqqkLD44Laps,227918
22
+ kodexa/platform/client.py,sha256=UdMLp_1fcWa8bJc30AD8kwLyqM6zxWLQp57cZKYZV9Q,228861
23
23
  kodexa/platform/interaction.py,sha256=6zpcwXKNZstUGNS6m4JsoRXAqCZPJHWI-ZN3co8nnF0,1055
24
24
  kodexa/platform/kodexa.py,sha256=tPXHO500q3S75GhKGDcaxO51Viq2PNlHmAzpBZlahgo,34857
25
25
  kodexa/selectors/__init__.py,sha256=xA9-4vpyaAZWPSk3bh2kvDLkdv6XEmm7PjFbpziiTIk,100
@@ -44,7 +44,7 @@ kodexa/testing/test_utils.py,sha256=v44p__gE7ia67W7WeHN2HBFCWSCUrCZt7G4xBNCmwf8,
44
44
  kodexa/training/__init__.py,sha256=xs2L62YpRkIRfslQwtQZ5Yxjhm7sLzX2TrVX6EuBnZQ,52
45
45
  kodexa/training/train_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  kodexa/utils/__init__.py,sha256=Pnim1o9_db5YEnNvDTxpM7HG-qTlL6n8JwFwOafU9wo,5928
47
- kodexa-7.4.412795054059.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
48
- kodexa-7.4.412795054059.dist-info/METADATA,sha256=HAlQrKawcDqjYn0bNr8F0maABqFC8sNRT4XDIDOTJ4Q,3528
49
- kodexa-7.4.412795054059.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
50
- kodexa-7.4.412795054059.dist-info/RECORD,,
47
+ kodexa-7.4.412806034916.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
48
+ kodexa-7.4.412806034916.dist-info/METADATA,sha256=nG2DqKve0rZiNBTlMTFRdhCjlmQgQsbe8bZduugLzcU,3528
49
+ kodexa-7.4.412806034916.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
50
+ kodexa-7.4.412806034916.dist-info/RECORD,,