@@ -238,7 +238,11 @@ def validate(self,
238238
239239 file = os .path .basename (filePath )
240240 dir_name = os .path .dirname (filePath )
241- logger .debug (f"File path is { dir_name } , filename is { file } " )
241+ match = re .search (r'\.(.+)$' , file )
242+ extension = ""
243+ if match :
244+ extension = match .group (1 )
245+ logger .debug (f"File path is { dir_name } , filename is { file } , extension is { extension } " )
242246 print (f"Validating { file } " )
243247
244248
@@ -593,7 +597,7 @@ def validate(self,
593597
594598 if referringLogic in self .referringLogics :
595599 logger .debug (f"Executing referring logic: { referringLogic } , { self .referringLogics [referringLogic ]} " )
596- list_of_referred_sboms , problems = self .referringLogics [referringLogic ](self , doc , dir_name , problems )
600+ list_of_referred_sboms , problems = self .referringLogics [referringLogic ](self , doc , dir_name , problems , extension )
597601 else :
598602 logger .error (f"Referring logic “{ referringLogic } ” is not in the registered referring logic list { self .getReferringLogicNames ()} " )
599603 print (f"Referring logic error. Referring logic “{ referringLogic } ” is not in the registered referring logic list { self .getReferringLogicNames ()} " )
@@ -668,8 +672,8 @@ def __ntiaErrorLogNew(self, components, problems, doc, problemText, file):
668672 Problem .SEVERITY_ERROR ,
669673 file )
670674
671- def referred_yocto_all (self , doc : Document , dir_name : str , problems : Problems ):
672- logger .debug ("In Yocto all" )
675+ def referred_yocto_all (self , doc : Document , dir_name : str , problems : Problems , extension : str = "" ):
676+ logger .debug (f "In Yocto all. Extension is { extension } " )
673677 documents = []
674678 ref_base = ""
675679 if doc .creation_info .document_namespace :
@@ -691,14 +695,14 @@ def referred_yocto_all(self, doc: Document, dir_name: str, problems: Problems):
691695 if result :
692696 doc_location = result .group (1 )
693697 if dir_name == "" :
694- doc_location = f"{ doc_location } .spdx.json "
698+ doc_location = f"{ doc_location } .{ extension } "
695699 else :
696- doc_location = f"{ dir_name } /{ doc_location } .spdx.json "
700+ doc_location = f"{ dir_name } /{ doc_location } .{ extension } "
697701 logger .debug (f"Document location is: { doc_location } " )
698702 documents .append (doc_location )
699703 return documents , problems
700704
701- def referred_yocto_contains_only (self , doc : Document , dir_name : str , problems : Problems ):
705+ def referred_yocto_contains_only (self , doc : Document , dir_name : str , problems : Problems , extension : str = "" ):
702706 logger .debug ("In Yocto contains only" )
703707 documents = []
704708 ref_base = ""
@@ -736,7 +740,7 @@ def referred_yocto_contains_only(self, doc: Document, dir_name: str, problems: P
736740 documents .append (external_refs [spdx_document_id ])
737741 return documents , problems
738742
739- def referred_checksum_all (self , doc : Document , dir_name : str , problems : Problems ):
743+ def referred_checksum_all (self , doc : Document , dir_name : str , problems : Problems , extension : str = "" ):
740744 # Known limitations: MD2, MD4 and MD6 hashes are not supported
741745 import hashlib
742746 from pathlib import Path
@@ -823,8 +827,8 @@ def referred_checksum_all(self, doc: Document, dir_name: str, problems: Problems
823827
824828 return documents_dd , problems
825829
826- def referred_none (self , doc : Document , dir_name : str , problems : Problems ):
830+ def referred_none (self , doc : Document , dir_name : str , problems : Problems , extension : str = "" ):
827831 return [], problems
828832
829- def _dummy_referred_logic (self , doc : Document , dir_name : str , problems : Problems ):
833+ def _dummy_referred_logic (self , doc : Document , dir_name : str , problems : Problems , extension : str = "" ):
830834 pass
0 commit comments