@@ -74,17 +74,20 @@ async def info(self, name, channel=None):
7474 if err_code :
7575 raise JujuError (f'charmhub.info - { err_code } : { res .errors .error_list .message } ' )
7676 result = res .result
77- result .channel_map = self ._channel_map_to_dict (result .channel_map )
77+ result .channel_map = CharmHub ._channel_map_to_dict (
78+ result .channel_map )
7879 result = result .serialize ()
7980 else :
8081 charmhub_url = await self ._charmhub_url ()
8182 url = "{}/v2/charms/info/{}?fields=channel-map" .format (
8283 charmhub_url .value , name )
8384 _response = self .request_charmhub_with_retry (url , 5 )
8485 result = json .loads (_response .text )
86+ result ['channel-map' ] = CharmHub ._channel_list_to_map (result ['channel-map' ])
8587 return result
8688
87- def _channel_list_to_map (self , channel_list_map ):
89+ @staticmethod
90+ def _channel_list_to_map (channel_list_map ):
8891 """Charmhub API returns the channel map as a list of channel objects
8992 (with risk, track, revision, download etc). This turns that into a map
9093 that's keyed with the channel=track/risk for easy
@@ -106,7 +109,8 @@ def _channel_list_to_map(self, channel_list_map):
106109 = ch
107110 return channel_map
108111
109- def _channel_map_to_dict (self , channel_map ):
112+ @staticmethod
113+ def _channel_map_to_dict (channel_map ):
110114 """Converts the client.definitions.Channel objects into python maps
111115 inside a channel map (for pylibjuju <3.0)
112116
0 commit comments