azure-devops-python-api
azure-devops-python-api copied to clipboard
Profile object does not deserialize `core_attributes` correctly (?)
I am trying to get some profiles by id and I cannot figure out if there is a bug in this library or if I am not using it correctly, but when I get a profile with a call like:
profile_client = connection.clients_v6_0.get_profile_client()
a_profile = profile_client.get_profile(authenticated_user_id, details=True)
I see that data like the Avatar
is coming back from the http request log
...
'Avatar': {'descriptor': {'attributeName': 'Avatar',
'containerName': 'Core'},
'value': {'value': 'iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGQSURBVFhH7ZUxSwQxEEb9Odb29va2cpWVWIqdjWB7FldoowhWilhpo811FoqdhYVgpaU/IfIC3zEXs8seZBBlBh6bTXKbl2SSW9pYnqS/RAh7E8LehLA3IexNCHsTwt6EsDf/X3h79TSNt27S2f40Q5k622dv/SK38bT1JZsrx7Nv1NprDBbm49Orl0TcnjzPhF+fPnKd7Us98fn+NVdfon6P92/V9hqDhJFFDGHKZfvO2vncOyLIEn2rTNCvuTArinCtrYZWjgl2yZAGkm0qTH4Si+SZhFldosxxQJZ+zYUPRtd50FoqdCFhyuwMO2TbNRG+2VzYDm6xNwXYVbS/oR9hJ4ygJtFc+Gj37seAIGEGJuzhssKg7aesFNMEmwtzAxCkRq1d29snzDvSlJmgFWwuDH1XzxBhdofQbtm+LsJa5fLwwBBhUOpopYWLMCDNYHB5+JClePJO2D+PmnDX9egmLFhJhATv5YFUH1sHpETt8JaT6GNh4d8mhL0JYW9C2JsQ9iaEvQlhb0LYl0n6Bknoed5LlvAdAAAAAElFTkSuQmCC',
'timeStamp': '2020-12-09T16:53:10.5466667+00:00',
'size': 'medium',
'isAutoGenerated': True},
'timeStamp': '2020-12-09T16:53:10.5466667+00:00'},
...
but if I serialize the Profile object, I do not see anything
a_profile.as_dict()
...
{'core_attributes': {'DisplayName': {},
'PublicAlias': {},
'EmailAddress': {},
'UnconfirmedEmailAddress': {},
'CountryName': {},
'TermsOfServiceVersion': {},
'TermsOfServiceAcceptDate': {},
'Avatar': {},
'ContactWithOffers': {}},
...
and even if I get the Avatar object from a_profile.core_attributes
, the object does not seem to contain anything.
Is there a problem with the library or I am not using it correctly?
Thanks a lot in advance e for your help.
UPDATE: I made some additional research and realized that this change actually triggers a serialization
diff --git a/azure-devops/azure/devops/v5_1/profile/models.py b/azure-devops/azure/devops/v5_1/profile/models.py
index b527f6c..27f9e0d 100644
--- a/azure-devops/azure/devops/v5_1/profile/models.py
+++ b/azure-devops/azure/devops/v5_1/profile/models.py
@@ -264,11 +264,8 @@ class CoreProfileAttribute(ProfileAttributeBase):
"""
- _attribute_map = {
- }
-
- def __init__(self):
- super(CoreProfileAttribute, self).__init__()
+ def __init__(self, **kwargs):
+ super(CoreProfileAttribute, self).__init__(**kwargs)
I am still not convinced this is correct, but I am pretty sure that now it is a bug in the library.