@@ -628,7 +628,7 @@ def __len__(self):
628628
629629 def dump (
630630 self ,
631- exclude_issuer : Optional [List [str ]] = None ,
631+ exclude_issuers : Optional [List [str ]] = None ,
632632 exclude_attributes : Optional [List [str ]] = None ,
633633 ) -> dict :
634634 """
@@ -648,23 +648,31 @@ def dump(
648648 "spec2key" : self .spec2key ,
649649 }
650650
651- _issuers = {}
652- for _id , _issuer in self ._issuers .items ():
653- if exclude_issuer and _issuer .name in exclude_issuer :
654- continue
655- _issuers [_id ] = _issuer .dump (exclude_attributes = exclude_attributes )
656- info ["issuers" ] = _issuers
651+ if exclude_attributes :
652+ for attr in exclude_attributes :
653+ try :
654+ del info [attr ]
655+ except KeyError :
656+ pass
657+
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
657665
658666 return info
659667
660- def dumps (self , exclude = None ):
668+ def dumps (self , exclude_issuers : Optional [ List [ str ]] = None ):
661669 """
662670 Returns a JSON representation of the key jar
663671
664- :param exclude : Exclude these issuers
672+ :param exclude_issuers : Exclude these issuers
665673 :return: A string
666674 """
667- _dict = self .dump (exclude = exclude )
675+ _dict = self .dump (exclude_issuers = exclude_issuers )
668676 return json .dumps (_dict )
669677
670678 def load (self , info ):
0 commit comments