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 +37 -8
- {kodexa-7.4.412795054059.dist-info → kodexa-7.4.412806034916.dist-info}/METADATA +1 -1
- {kodexa-7.4.412795054059.dist-info → kodexa-7.4.412806034916.dist-info}/RECORD +5 -5
- {kodexa-7.4.412795054059.dist-info → kodexa-7.4.412806034916.dist-info}/LICENSE +0 -0
- {kodexa-7.4.412795054059.dist-info → kodexa-7.4.412806034916.dist-info}/WHEEL +0 -0
kodexa/platform/client.py
CHANGED
@@ -4577,7 +4577,7 @@ class DocumentFamilyEndpoint(DocumentFamily, ClientEndpoint):
|
|
4577
4577
|
|
4578
4578
|
def unlock(self):
|
4579
4579
|
"""
|
4580
|
-
|
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(
|
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
|
|
@@ -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=
|
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.
|
48
|
-
kodexa-7.4.
|
49
|
-
kodexa-7.4.
|
50
|
-
kodexa-7.4.
|
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,,
|
File without changes
|
File without changes
|