20
20
from decimal import Decimal
21
21
from enum import Enum
22
22
from json import loads as json_loads
23
- from typing import Any , Optional , Union , Type
23
+ from typing import Any , Optional , Type , Union
24
24
from warnings import warn
25
25
from xml .etree .ElementTree import Element as XmlElement # nosec B405
26
26
@@ -624,7 +624,6 @@ def __repr__(self) -> str:
624
624
return f'<CallStack frames={ len (self .frames )} >'
625
625
626
626
627
-
628
627
@serializable .serializable_class
629
628
class ComponentEvidence :
630
629
"""
@@ -751,36 +750,37 @@ def __hash__(self) -> int:
751
750
def __repr__ (self ) -> str :
752
751
return f'<ComponentEvidence id={ id (self )} >'
753
752
753
+
754
754
class _ComponentEvidenceSerializationHelper (serializable .helpers .BaseHelper ):
755
755
"""THIS CLASS IS NON-PUBLIC API"""
756
756
757
757
@classmethod
758
758
def json_normalize (cls , o : ComponentEvidence , * ,
759
759
view : Optional [type [serializable .ViewType ]],
760
- ** __ : Any ) -> Union [ dict , list [ dict ], None ]:
761
- data :dict [str , Any ] = json_loads ( o .as_json (view ))
760
+ ** __ : Any ) -> dict [ str , Any ]:
761
+ data : dict [str , Any ] = json_loads (o .as_json (view )) # type:ignore[attr-defined]
762
762
if view is SchemaVersion1Dot5 :
763
763
identities = data .get ('identity' , [])
764
- if il := len (identities ) > 1 :
765
- warn (f'CycloneDX 1.5 does not support multiple identity items; dropping { il - 1 } items.' )
764
+ if il := len (identities ) > 1 :
765
+ warn (f'CycloneDX 1.5 does not support multiple identity items; dropping { il - 1 } items.' )
766
766
data ['identity' ] = identities [0 ]
767
767
return data
768
768
769
769
@classmethod
770
- def json_denormalize (cls , o : dict [str , Any ], ** __ : Any ) -> Optional [ list [ Identity ]] :
771
- return ComponentEvidence .from_json (o )
770
+ def json_denormalize (cls , o : dict [str , Any ], ** __ : Any ) -> Any :
771
+ return ComponentEvidence .from_json (o ) # type:ignore[attr-defined]
772
772
773
773
@classmethod
774
774
def xml_normalize (cls , o : ComponentEvidence , * ,
775
775
element_name : str ,
776
776
view : Optional [Type ['serializable.ViewType' ]],
777
777
xmlns : Optional [str ],
778
778
** __ : Any ) -> Optional ['XmlElement' ]:
779
- normalized : 'XmlElement' = o .as_xml (view , False , element_name , xmlns )
779
+ normalized : 'XmlElement' = o .as_xml (view , False , element_name , xmlns ) # type:ignore[attr-defined]
780
780
if view is SchemaVersion1Dot5 :
781
781
identities = normalized .findall (f'./{{{ xmlns } }}identity' if xmlns else './identity' )
782
- if il := len (identities ) > 1 :
783
- warn (f'CycloneDX 1.5 does not support multiple identity items; dropping { il - 1 } items.' )
782
+ if il := len (identities ) > 1 :
783
+ warn (f'CycloneDX 1.5 does not support multiple identity items; dropping { il - 1 } items.' )
784
784
for i in identities [1 :]:
785
785
normalized .remove (i )
786
786
return normalized
@@ -789,5 +789,4 @@ def xml_normalize(cls, o: ComponentEvidence, *,
789
789
def xml_denormalize (cls , o : 'XmlElement' , * ,
790
790
default_ns : Optional [str ],
791
791
** __ : Any ) -> Any :
792
- return ComponentEvidence .from_xml (o , default_ns )
793
-
792
+ return ComponentEvidence .from_xml (o , default_ns ) # type:ignore[attr-defined]
0 commit comments