Skip to content

Commit 9e068ba

Browse files
committed
More helpers
1 parent d2d91b4 commit 9e068ba

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

databricks/sdk/service/_internal.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import datetime
22
import urllib.parse
3-
from typing import Callable, Dict, Generic, List, Optional, Type, TypeVar, Any
3+
from typing import Any, Callable, Dict, Generic, List, Optional, Type, TypeVar
4+
45
from databricks.sdk import common
56

7+
68
def _from_dict(d: Dict[str, any], field: str, cls: Type) -> any:
79
if field not in d or d[field] is None:
810
return None
@@ -41,36 +43,55 @@ def _repeated_enum(d: Dict[str, any], field: str, cls: Type) -> any:
4143
res.append(val)
4244
return res
4345

46+
4447
def _get_duration(d: Dict[str, Any], field: str) -> Optional[common.Duration]:
4548
if field not in d or d[field] is None:
4649
return None
4750
return common.Duration.parse(d[field])
4851

52+
4953
def _repeated_duration(d: Dict[str, Any], field: str) -> Optional[List[common.Duration]]:
5054
if field not in d or not d[field]:
5155
return None
5256
return [common.Duration.parse(v) for v in d[field]]
5357

58+
5459
def _get_timestamp(d: Dict[str, Any], field: str) -> Optional[common.Timestamp]:
5560
if field not in d or d[field] is None:
5661
return None
5762
return common.Timestamp.parse(d[field])
5863

64+
5965
def _repeated_timestamp(d: Dict[str, Any], field: str) -> Optional[List[common.Timestamp]]:
6066
if field not in d or not d[field]:
6167
return None
6268
return [common.Timestamp.parse(v) for v in d[field]]
6369

70+
6471
def _get_value(d: Dict[str, Any], field: str) -> Optional[Any]:
6572
if field not in d or d[field] is None:
6673
return None
6774
return d[field]
6875

76+
6977
def _repeated_value(d: Dict[str, Any], field: str) -> Optional[List[Any]]:
7078
if field not in d or not d[field]:
7179
return None
7280
return d[field]
7381

82+
83+
def _get_field_mask(d: Dict[str, Any], field: str) -> Optional[List[str]]:
84+
if field not in d or d[field] is None:
85+
return None
86+
return d[field].split(",")
87+
88+
89+
def _repeated_field_mask(d: Dict[str, Any], field: str) -> Optional[List[str]]:
90+
if field not in d or not d[field]:
91+
return None
92+
return [v.split(",") for v in d[field]]
93+
94+
7495
def _escape_multi_segment_path_parameter(param: str) -> str:
7596
return urllib.parse.quote(param)
7697

0 commit comments

Comments
 (0)