@@ -660,12 +660,13 @@ async def refresh(
660660 charmhub = self .model .charmhub
661661 charm_resources = await charmhub .list_resources (charm_name )
662662
663- res = await app_facade .GetCharmURLOrigin (application = charm_name )
663+ charm_url_origin_result = await app_facade .GetCharmURLOrigin (application = charm_name )
664664
665- if res .error is not None :
666- raise JujuError (f'{ res .code } : { res .message } ' )
667- charm_url = res .url
668- origin = res .charm_origin
665+ if charm_url_origin_result .error is not None :
666+ err = charm_url_origin_result .error
667+ raise JujuError (f'{ err .code } : { err .message } ' )
668+ charm_url = charm_url_origin_result .url
669+ origin = charm_url_origin_result .charm_origin
669670
670671 if channel :
671672 ch = Channel .parse (channel ).normalize ()
@@ -681,14 +682,11 @@ async def refresh(
681682 resolved_charm = resolved_charm_with_channel_results .results [0 ]
682683
683684 if resolved_charm .error is not None :
684- raise JujuError (f'{ res .code } : { res .message } ' )
685+ err = resolved_charm .error
686+ raise JujuError (f'{ err .code } : { err .message } ' )
685687 dest_origin = resolved_charm .charm_origin
686688 charm_url = resolved_charm .url
687689
688- await charms_facade .AddCharm (url = charm_url ,
689- force = force ,
690- charm_origin = dest_origin )
691-
692690 else :
693691 charms_facade = client .CharmsFacade .from_connection (self .connection )
694692 charmstore = self .model .charmstore
@@ -710,14 +708,19 @@ async def refresh(
710708 raise JujuError ('already running charm "%s"' % charm_url )
711709
712710 dest_origin = client .CharmOrigin (source = "charm-store" , risk = channel )
713- # Update charm
714- await charms_facade .AddCharm (url = charm_url ,
715- force = force ,
716- charm_origin = dest_origin )
711+
717712 if not charmstore_entity :
718713 charmstore_entity = await charmstore .entity (charm_url , channel = channel )
719714 charm_resources = charmstore_entity ['Meta' ]['resources' ]
720715
716+ # Add the charm with the new origin
717+ charm_origin_result = await charms_facade .AddCharm (url = charm_url ,
718+ force = force ,
719+ charm_origin = dest_origin )
720+ if charm_origin_result .error is not None :
721+ err = charm_origin_result .error
722+ raise JujuError (f'{ err .code } : { err .message } ' )
723+
721724 # Update resources
722725 request_data = [client .Entity (self .tag )]
723726 response = await resources_facade .ListResources (entities = request_data )
@@ -740,7 +743,6 @@ async def refresh(
740743 fingerprint = resource .get ('Fingerprint' , resource .get ('fingerprint' )),
741744 name = resource .get ('Name' , resource .get ('name' )),
742745 path = resource .get ('Path' , resource .get ('filename' )),
743- # revision=-1,
744746 revision = resource .get ('Revision' , resource .get ('revision' , - 1 )),
745747 size = resource .get ('Size' , resource .get ('size' )),
746748 type_ = resource .get ('Type' , resource .get ('type' )),
0 commit comments