dasl-client 1.0.7__py3-none-any.whl → 1.0.11__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.

Potentially problematic release.


This version of dasl-client might be problematic. Click here for more details.

@@ -0,0 +1,235 @@
1
+ from typing import Optional, List, Dict
2
+ from pydantic import BaseModel
3
+
4
+ from dasl_api import (
5
+ ContentV1PresetDataSourceList, ContentV1PresetDataSourceListItemsInner, ContentV1DatasourcePresetAutoloader,
6
+ ContentV1DatasourcePresetSilver, ContentV1DatasourcePresetSilverPreTransformInner,
7
+ ContentV1DatasourcePresetSilverTransformInner, ContentV1DatasourcePresetGoldInner, ContentV1DatasourcePreset,
8
+ ContentV1DatasourcePresetAutoloaderCloudFiles,
9
+ )
10
+
11
+ from .datasource import DataSource, FieldSpec, FieldUtils
12
+ from .helpers import Helpers
13
+
14
+
15
+ class SilverPreset(BaseModel):
16
+ class PreTransform(BaseModel):
17
+ name: Optional[str] = None
18
+ filter: Optional[str] = None
19
+ post_filter: Optional[str] = None
20
+ fields: Optional[List[Optional[FieldSpec]]] = None
21
+ utils: Optional[FieldUtils] = None
22
+
23
+ @staticmethod
24
+ def from_api_obj(
25
+ obj: Optional[ContentV1DatasourcePresetSilverPreTransformInner],
26
+ ) -> Optional["SilverPreset.PreTransform"]:
27
+ if obj is None:
28
+ return None
29
+ if obj.fields is not None:
30
+ fields = [FieldSpec.from_api_obj(item) for item in obj.fields]
31
+ else:
32
+ fields = None
33
+
34
+ return SilverPreset.PreTransform(
35
+ name=obj.name,
36
+ filter=obj.filter,
37
+ post_filter=obj.post_filter,
38
+ fields=fields,
39
+ utils=FieldUtils.from_api_obj(obj.utils),
40
+ )
41
+
42
+ class Transform(BaseModel):
43
+ name: Optional[str] = None
44
+ filter: Optional[str] = None
45
+ post_filter: Optional[str] = None
46
+ fields: Optional[List[Optional[FieldSpec]]] = None
47
+ utils: Optional[FieldUtils] = None
48
+
49
+ @staticmethod
50
+ def from_api_obj(
51
+ obj: Optional[ContentV1DatasourcePresetSilverTransformInner],
52
+ ) -> Optional["SilverPreset.Transform"]:
53
+ if obj is None:
54
+ return None
55
+ if obj.fields is not None:
56
+ fields = [FieldSpec.from_api_obj(item) for item in obj.fields]
57
+ else:
58
+ fields = None
59
+
60
+ return SilverPreset.Transform(
61
+ name=obj.name,
62
+ filter=obj.filter,
63
+ post_filter=obj.post_filter,
64
+ fields=fields,
65
+ utils=FieldUtils.from_api_obj(obj.utils),
66
+ )
67
+
68
+ pre_transform: Optional[List[PreTransform]] = None
69
+ transform: Optional[List[Transform]] = None
70
+
71
+ @staticmethod
72
+ def from_api_obj(
73
+ obj: Optional[ContentV1DatasourcePresetSilver],
74
+ ) -> Optional["SilverPreset"]:
75
+ if obj is None:
76
+ return None
77
+
78
+ if obj.pre_transform is not None:
79
+ pre_transform = [SilverPreset.PreTransform.from_api_obj(item) for item in obj.pre_transform]
80
+ else:
81
+ pre_transform = None
82
+
83
+ if obj.transform is not None:
84
+ transform = [SilverPreset.Transform.from_api_obj(item) for item in obj.transform]
85
+ else:
86
+ transform = None
87
+
88
+
89
+ return SilverPreset(
90
+ pre_transform=pre_transform,
91
+ transform=transform,
92
+ )
93
+
94
+
95
+ class GoldPreset(BaseModel):
96
+ name: str
97
+ input: str
98
+ filter: Optional[str] = None
99
+ post_filter: Optional[str] = None
100
+ fields: Optional[List[Optional[FieldSpec]]] = None
101
+ utils: Optional[FieldUtils] = None
102
+
103
+ @staticmethod
104
+ def from_api_obj(
105
+ obj: Optional[ContentV1DatasourcePresetGoldInner],
106
+ ) -> Optional["GoldPreset"]:
107
+ if obj is None:
108
+ return None
109
+ if obj.fields is not None:
110
+ fields = [FieldSpec.from_api_obj(item) for item in obj.fields]
111
+ else:
112
+ fields = None
113
+
114
+ return GoldPreset(
115
+ name=obj.name,
116
+ input=obj.input,
117
+ filter=obj.filter,
118
+ post_filter=obj.post_filter,
119
+ fields=fields,
120
+ utils=FieldUtils.from_api_obj(obj.utils),
121
+ )
122
+
123
+
124
+ class PresetCloudFiles(BaseModel):
125
+ schema_hints_file: Optional[str] = None
126
+ schema_hints: Optional[str] = None
127
+
128
+ @staticmethod
129
+ def from_api_obj(
130
+ obj: Optional[ContentV1DatasourcePresetAutoloaderCloudFiles],
131
+ ) -> Optional["PresetCloudFiles"]:
132
+ if obj is None:
133
+ return None
134
+
135
+ return PresetCloudFiles(
136
+ schema_hints_file=obj.schema_hints_file,
137
+ schema_hints=obj.schema_hints,
138
+ )
139
+
140
+
141
+ class PresetAutoloader(BaseModel):
142
+ format: str
143
+ schema_file: Optional[str] = None
144
+ var_schema: Optional[str] = None
145
+ cloud_files: Optional[PresetCloudFiles] = None
146
+
147
+ @staticmethod
148
+ def from_api_obj(
149
+ obj: Optional[ContentV1DatasourcePresetAutoloader],
150
+ ) -> Optional["PresetAutoloader"]:
151
+ if obj is None:
152
+ return None
153
+
154
+ return PresetAutoloader(
155
+ format=obj.format,
156
+ schema_file=obj.schema_file,
157
+ var_schema=obj.var_schema,
158
+ cloud_files=PresetCloudFiles.from_api_obj(obj.cloud_files),
159
+ )
160
+
161
+ class DataSourcePreset(BaseModel):
162
+
163
+ name: Optional[str] = None
164
+ author: Optional[str] = None
165
+ description: Optional[str] = None
166
+ autoloader: Optional[PresetAutoloader] = None
167
+ silver: Optional[SilverPreset] = None
168
+ gold: Optional[List[GoldPreset]] = None
169
+
170
+ @staticmethod
171
+ def from_api_obj(
172
+ obj: Optional[ContentV1DatasourcePreset],
173
+ ) -> Optional["DataSourcePreset"]:
174
+ if obj is None:
175
+ return None
176
+
177
+ return DataSourcePreset(
178
+ name=obj.name,
179
+ author=obj.author,
180
+ description=obj.description,
181
+ autoloader=PresetAutoloader.from_api_obj(obj.autoloader),
182
+ silver=SilverPreset.from_api_obj(obj.silver),
183
+ gold=[GoldPreset.from_api_obj(item) for item in obj.gold],
184
+ )
185
+
186
+
187
+ class DataSourcePresetSummary(BaseModel):
188
+ name: Optional[str] = None
189
+ source: Optional[str] = None
190
+ source_type: Optional[str] = None
191
+ description: Optional[str] = None
192
+ title: Optional[str] = None
193
+ author: Optional[str] = None
194
+ icon_url: Optional[str] = None
195
+
196
+ @staticmethod
197
+ def from_api_obj(
198
+ obj: Optional[ContentV1PresetDataSourceListItemsInner],
199
+ ) -> Optional["DataSourcePresetSummary"]:
200
+ if obj is None:
201
+ return None
202
+
203
+ return DataSourcePresetSummary(
204
+ name=obj.name,
205
+ source=obj.source,
206
+ source_type=obj.source_type,
207
+ description=obj.description,
208
+ title=obj.title,
209
+ author=obj.author,
210
+ icon_url=obj.icon_url,
211
+ )
212
+
213
+ class DataSourcePresetsList(BaseModel):
214
+ kind: Optional[str] = None
215
+ cursor: Optional[str] = None
216
+ items: List["DataSourcePresetSummary"] = []
217
+
218
+ @staticmethod
219
+ def from_api_obj(
220
+ obj: Optional[ContentV1PresetDataSourceList],
221
+ ) -> Optional["DataSourcePresetsList"]:
222
+ if obj is None:
223
+ return None
224
+ cursor = None
225
+ if obj.metadata is not None:
226
+ cursor = obj.metadata.cursor
227
+
228
+ return DataSourcePresetsList(
229
+ kind=obj.kind,
230
+ cursor=cursor,
231
+ items=[
232
+ DataSourcePresetSummary.from_api_obj(item)
233
+ for item in obj.items
234
+ ],
235
+ )