@@ -664,12 +664,13 @@ async def refresh(
664664 charmhub = self .model .charmhub
665665 charm_resources = await charmhub .list_resources (charm_name )
666666
667- res = await app_facade .GetCharmURLOrigin (application = charm_name )
667+ charm_url_origin_result = await app_facade .GetCharmURLOrigin (application = charm_name )
668668
669- if res .error is not None :
670- raise JujuError (f'{ res .code } : { res .message } ' )
671- charm_url = res .url
672- origin = res .charm_origin
669+ if charm_url_origin_result .error is not None :
670+ err = charm_url_origin_result .error
671+ raise JujuError (f'{ err .code } : { err .message } ' )
672+ charm_url = charm_url_origin_result .url
673+ origin = charm_url_origin_result .charm_origin
673674
674675 if channel :
675676 ch = Channel .parse (channel ).normalize ()
@@ -685,14 +686,11 @@ async def refresh(
685686 resolved_charm = resolved_charm_with_channel_results .results [0 ]
686687
687688 if resolved_charm .error is not None :
688- raise JujuError (f'{ res .code } : { res .message } ' )
689+ err = resolved_charm .error
690+ raise JujuError (f'{ err .code } : { err .message } ' )
689691 dest_origin = resolved_charm .charm_origin
690692 charm_url = resolved_charm .url
691693
692- await charms_facade .AddCharm (url = charm_url ,
693- force = force ,
694- charm_origin = dest_origin )
695-
696694 else :
697695 charms_facade = client .CharmsFacade .from_connection (self .connection )
698696 charmstore = self .model .charmstore
@@ -714,14 +712,19 @@ async def refresh(
714712 raise JujuError ('already running charm "%s"' % charm_url )
715713
716714 dest_origin = client .CharmOrigin (source = "charm-store" , risk = channel )
717- # Update charm
718- await charms_facade .AddCharm (url = charm_url ,
719- force = force ,
720- charm_origin = dest_origin )
715+
721716 if not charmstore_entity :
722717 charmstore_entity = await charmstore .entity (charm_url , channel = channel )
723718 charm_resources = charmstore_entity ['Meta' ]['resources' ]
724719
720+ # Add the charm with the new origin
721+ charm_origin_result = await charms_facade .AddCharm (url = charm_url ,
722+ force = force ,
723+ charm_origin = dest_origin )
724+ if charm_origin_result .error is not None :
725+ err = charm_origin_result .error
726+ raise JujuError (f'{ err .code } : { err .message } ' )
727+
725728 # Update resources
726729 request_data = [client .Entity (self .tag )]
727730 response = await resources_facade .ListResources (entities = request_data )
@@ -744,7 +747,6 @@ async def refresh(
744747 fingerprint = resource .get ('Fingerprint' , resource .get ('fingerprint' )),
745748 name = resource .get ('Name' , resource .get ('name' )),
746749 path = resource .get ('Path' , resource .get ('filename' )),
747- # revision=-1,
748750 revision = resource .get ('Revision' , resource .get ('revision' , - 1 )),
749751 size = resource .get ('Size' , resource .get ('size' )),
750752 type_ = resource .get ('Type' , resource .get ('type' )),
0 commit comments