@@ -626,6 +626,17 @@ def copy(self):
626626 def __len__ (self ):
627627 return len (self ._issuers )
628628
629+ def _dump_issuers (self ,
630+ exclude_issuers : Optional [List [str ]] = None ,
631+ exclude_attributes : Optional [List [str ]] = None
632+ ):
633+ _issuers = {}
634+ for _id , _issuer in self ._issuers .items ():
635+ if exclude_issuers and _issuer .name in exclude_issuers :
636+ continue
637+ _issuers [_id ] = _issuer .dump (exclude_attributes = exclude_attributes )
638+ return _issuers
639+
629640 def dump (
630641 self ,
631642 exclude_issuers : Optional [List [str ]] = None ,
@@ -655,13 +666,12 @@ def dump(
655666 except KeyError :
656667 pass
657668
658- if "issuers" not in exclude_attributes :
659- _issuers = {}
660- for _id , _issuer in self ._issuers .items ():
661- if exclude_issuers and _issuer .name in exclude_issuers :
662- continue
663- _issuers [_id ] = _issuer .dump (exclude_attributes = exclude_attributes )
664- info ["issuers" ] = _issuers
669+ if exclude_attributes is None :
670+ info ["issuers" ] = self ._dump_issuers (exclude_issuers = exclude_issuers ,
671+ exclude_attributes = exclude_attributes )
672+ elif "issuers" not in exclude_attributes :
673+ info ["issuers" ] = self ._dump_issuers (exclude_issuers = exclude_issuers ,
674+ exclude_attributes = exclude_attributes )
665675
666676 return info
667677
0 commit comments