@@ -119,6 +119,9 @@ <h3>Ancestors</h3>
119119 if callable(method) and hasattr(method, "validator"):
120120 method()
121121
122+ def get_object_attribute(self, key: str):
123+ return getattr(self, key, None)
124+
122125 def get_non_null_attributes(self) -> dict:
123126 """
124127 Construct a dictionary out of non-null keys (from attributes property)
@@ -136,7 +139,7 @@ <h3>Ancestors</h3>
136139 return value
137140
138141 def is_not_empty(self, key: str) -> bool:
139- value = getattr( self, key, None )
142+ value = self.get_object_attribute( key)
140143 if value is None:
141144 return False
142145
@@ -154,7 +157,9 @@ <h3>Ancestors</h3>
154157 return value is not None
155158
156159 return {
157- key: to_dict_compatible(getattr(self, key, None)) for key in sorted(self.attributes) if is_not_empty(self, key)
160+ key: to_dict_compatible(value=self.get_object_attribute(key))
161+ for key in sorted(self.attributes)
162+ if is_not_empty(self, key)
158163 }
159164
160165 def to_dict(self, *args) -> dict:
@@ -208,7 +213,40 @@ <h3>Subclasses</h3>
208213< li > < a title ="slack_sdk.models.dialogs.DialogBuilder " href ="dialogs/index.html#slack_sdk.models.dialogs.DialogBuilder "> DialogBuilder</ a > </ li >
209214< li > < a title ="slack_sdk.models.dialogs.DialogTextComponent " href ="dialogs/index.html#slack_sdk.models.dialogs.DialogTextComponent "> DialogTextComponent</ a > </ li >
210215< li > < a title ="slack_sdk.models.messages.message.Message " href ="messages/message.html#slack_sdk.models.messages.message.Message "> Message</ a > </ li >
216+ < li > < a title ="slack_sdk.models.metadata.ContentItemEntityFields " href ="metadata/index.html#slack_sdk.models.metadata.ContentItemEntityFields "> ContentItemEntityFields</ a > </ li >
217+ < li > < a title ="slack_sdk.models.metadata.EntityActionButton " href ="metadata/index.html#slack_sdk.models.metadata.EntityActionButton "> EntityActionButton</ a > </ li >
218+ < li > < a title ="slack_sdk.models.metadata.EntityActionProcessingState " href ="metadata/index.html#slack_sdk.models.metadata.EntityActionProcessingState "> EntityActionProcessingState</ a > </ li >
219+ < li > < a title ="slack_sdk.models.metadata.EntityActions " href ="metadata/index.html#slack_sdk.models.metadata.EntityActions "> EntityActions</ a > </ li >
220+ < li > < a title ="slack_sdk.models.metadata.EntityArrayItemField " href ="metadata/index.html#slack_sdk.models.metadata.EntityArrayItemField "> EntityArrayItemField</ a > </ li >
221+ < li > < a title ="slack_sdk.models.metadata.EntityAttributes " href ="metadata/index.html#slack_sdk.models.metadata.EntityAttributes "> EntityAttributes</ a > </ li >
222+ < li > < a title ="slack_sdk.models.metadata.EntityBooleanCheckboxField " href ="metadata/index.html#slack_sdk.models.metadata.EntityBooleanCheckboxField "> EntityBooleanCheckboxField</ a > </ li >
223+ < li > < a title ="slack_sdk.models.metadata.EntityBooleanTextField " href ="metadata/index.html#slack_sdk.models.metadata.EntityBooleanTextField "> EntityBooleanTextField</ a > </ li >
224+ < li > < a title ="slack_sdk.models.metadata.EntityCustomField " href ="metadata/index.html#slack_sdk.models.metadata.EntityCustomField "> EntityCustomField</ a > </ li >
225+ < li > < a title ="slack_sdk.models.metadata.EntityEditNumberConfig " href ="metadata/index.html#slack_sdk.models.metadata.EntityEditNumberConfig "> EntityEditNumberConfig</ a > </ li >
226+ < li > < a title ="slack_sdk.models.metadata.EntityEditSelectConfig " href ="metadata/index.html#slack_sdk.models.metadata.EntityEditSelectConfig "> EntityEditSelectConfig</ a > </ li >
227+ < li > < a title ="slack_sdk.models.metadata.EntityEditSupport " href ="metadata/index.html#slack_sdk.models.metadata.EntityEditSupport "> EntityEditSupport</ a > </ li >
228+ < li > < a title ="slack_sdk.models.metadata.EntityEditTextConfig " href ="metadata/index.html#slack_sdk.models.metadata.EntityEditTextConfig "> EntityEditTextConfig</ a > </ li >
229+ < li > < a title ="slack_sdk.models.metadata.EntityFullSizePreview " href ="metadata/index.html#slack_sdk.models.metadata.EntityFullSizePreview "> EntityFullSizePreview</ a > </ li >
230+ < li > < a title ="slack_sdk.models.metadata.EntityFullSizePreviewError " href ="metadata/index.html#slack_sdk.models.metadata.EntityFullSizePreviewError "> EntityFullSizePreviewError</ a > </ li >
231+ < li > < a title ="slack_sdk.models.metadata.EntityIconField " href ="metadata/index.html#slack_sdk.models.metadata.EntityIconField "> EntityIconField</ a > </ li >
232+ < li > < a title ="slack_sdk.models.metadata.EntityIconSlackFile " href ="metadata/index.html#slack_sdk.models.metadata.EntityIconSlackFile "> EntityIconSlackFile</ a > </ li >
233+ < li > < a title ="slack_sdk.models.metadata.EntityImageField " href ="metadata/index.html#slack_sdk.models.metadata.EntityImageField "> EntityImageField</ a > </ li >
234+ < li > < a title ="slack_sdk.models.metadata.EntityMetadata " href ="metadata/index.html#slack_sdk.models.metadata.EntityMetadata "> EntityMetadata</ a > </ li >
235+ < li > < a title ="slack_sdk.models.metadata.EntityPayload " href ="metadata/index.html#slack_sdk.models.metadata.EntityPayload "> EntityPayload</ a > </ li >
236+ < li > < a title ="slack_sdk.models.metadata.EntityRefField " href ="metadata/index.html#slack_sdk.models.metadata.EntityRefField "> EntityRefField</ a > </ li >
237+ < li > < a title ="slack_sdk.models.metadata.EntityStringField " href ="metadata/index.html#slack_sdk.models.metadata.EntityStringField "> EntityStringField</ a > </ li >
238+ < li > < a title ="slack_sdk.models.metadata.EntityTimestampField " href ="metadata/index.html#slack_sdk.models.metadata.EntityTimestampField "> EntityTimestampField</ a > </ li >
239+ < li > < a title ="slack_sdk.models.metadata.EntityTitle " href ="metadata/index.html#slack_sdk.models.metadata.EntityTitle "> EntityTitle</ a > </ li >
240+ < li > < a title ="slack_sdk.models.metadata.EntityTypedField " href ="metadata/index.html#slack_sdk.models.metadata.EntityTypedField "> EntityTypedField</ a > </ li >
241+ < li > < a title ="slack_sdk.models.metadata.EntityUserField " href ="metadata/index.html#slack_sdk.models.metadata.EntityUserField "> EntityUserField</ a > </ li >
242+ < li > < a title ="slack_sdk.models.metadata.EntityUserIDField " href ="metadata/index.html#slack_sdk.models.metadata.EntityUserIDField "> EntityUserIDField</ a > </ li >
243+ < li > < a title ="slack_sdk.models.metadata.EventAndEntityMetadata " href ="metadata/index.html#slack_sdk.models.metadata.EventAndEntityMetadata "> EventAndEntityMetadata</ a > </ li >
244+ < li > < a title ="slack_sdk.models.metadata.ExternalRef " href ="metadata/index.html#slack_sdk.models.metadata.ExternalRef "> ExternalRef</ a > </ li >
245+ < li > < a title ="slack_sdk.models.metadata.FileEntityFields " href ="metadata/index.html#slack_sdk.models.metadata.FileEntityFields "> FileEntityFields</ a > </ li >
246+ < li > < a title ="slack_sdk.models.metadata.FileEntitySlackFile " href ="metadata/index.html#slack_sdk.models.metadata.FileEntitySlackFile "> FileEntitySlackFile</ a > </ li >
247+ < li > < a title ="slack_sdk.models.metadata.IncidentEntityFields " href ="metadata/index.html#slack_sdk.models.metadata.IncidentEntityFields "> IncidentEntityFields</ a > </ li >
211248< li > < a title ="slack_sdk.models.metadata.Metadata " href ="metadata/index.html#slack_sdk.models.metadata.Metadata "> Metadata</ a > </ li >
249+ < li > < a title ="slack_sdk.models.metadata.TaskEntityFields " href ="metadata/index.html#slack_sdk.models.metadata.TaskEntityFields "> TaskEntityFields</ a > </ li >
212250< li > < a title ="slack_sdk.models.views.View " href ="views/index.html#slack_sdk.models.views.View "> View</ a > </ li >
213251< li > < a title ="slack_sdk.models.views.ViewState " href ="views/index.html#slack_sdk.models.views.ViewState "> ViewState</ a > </ li >
214252< li > < a title ="slack_sdk.models.views.ViewStateValue " href ="views/index.html#slack_sdk.models.views.ViewStateValue "> ViewStateValue</ a > </ li >
@@ -257,7 +295,7 @@ <h3>Methods</h3>
257295 return value
258296
259297 def is_not_empty(self, key: str) -> bool:
260- value = getattr( self, key, None )
298+ value = self.get_object_attribute( key)
261299 if value is None:
262300 return False
263301
@@ -275,12 +313,27 @@ <h3>Methods</h3>
275313 return value is not None
276314
277315 return {
278- key: to_dict_compatible(getattr(self, key, None)) for key in sorted(self.attributes) if is_not_empty(self, key)
316+ key: to_dict_compatible(value=self.get_object_attribute(key))
317+ for key in sorted(self.attributes)
318+ if is_not_empty(self, key)
279319 }</ code > </ pre >
280320</ details >
281321< div class ="desc "> < p > Construct a dictionary out of non-null keys (from attributes property)
282322present on this object</ p > </ div >
283323</ dd >
324+ < dt id ="slack_sdk.models.basic_objects.JsonObject.get_object_attribute "> < code class ="name flex ">
325+ < span > def < span class ="ident "> get_object_attribute</ span > </ span > (< span > self, key: str)</ span >
326+ </ code > </ dt >
327+ < dd >
328+ < details class ="source ">
329+ < summary >
330+ < span > Expand source code</ span >
331+ </ summary >
332+ < pre > < code class ="python "> def get_object_attribute(self, key: str):
333+ return getattr(self, key, None)</ code > </ pre >
334+ </ details >
335+ < div class ="desc "> </ div >
336+ </ dd >
284337< dt id ="slack_sdk.models.basic_objects.JsonObject.to_dict "> < code class ="name flex ">
285338< span > def < span class ="ident "> to_dict</ span > </ span > (< span > self, *args) ‑> dict</ span >
286339</ code > </ dt >
@@ -401,6 +454,7 @@ <h4><code><a title="slack_sdk.models.basic_objects.JsonObject" href="#slack_sdk.
401454< ul class ="">
402455< li > < code > < a title ="slack_sdk.models.basic_objects.JsonObject.attributes " href ="#slack_sdk.models.basic_objects.JsonObject.attributes "> attributes</ a > </ code > </ li >
403456< li > < code > < a title ="slack_sdk.models.basic_objects.JsonObject.get_non_null_attributes " href ="#slack_sdk.models.basic_objects.JsonObject.get_non_null_attributes "> get_non_null_attributes</ a > </ code > </ li >
457+ < li > < code > < a title ="slack_sdk.models.basic_objects.JsonObject.get_object_attribute " href ="#slack_sdk.models.basic_objects.JsonObject.get_object_attribute "> get_object_attribute</ a > </ code > </ li >
404458< li > < code > < a title ="slack_sdk.models.basic_objects.JsonObject.to_dict " href ="#slack_sdk.models.basic_objects.JsonObject.to_dict "> to_dict</ a > </ code > </ li >
405459< li > < code > < a title ="slack_sdk.models.basic_objects.JsonObject.validate_json " href ="#slack_sdk.models.basic_objects.JsonObject.validate_json "> validate_json</ a > </ code > </ li >
406460</ ul >
0 commit comments