X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=sfa%2Ftrust%2Ftrustedroots.py;h=fb6b6425d43cb7ad19daa16fecc8078f242ee541;hb=403f967f6b7e8e06ec463ad397f71967d7648857;hp=e81b9c1b786135e90434610209f15e3e40882c41;hpb=81c87aab9fc402bf72e6c75193ccf24385fd67c7;p=sfa.git diff --git a/sfa/trust/trustedroots.py b/sfa/trust/trustedroots.py index e81b9c1b..fb6b6425 100644 --- a/sfa/trust/trustedroots.py +++ b/sfa/trust/trustedroots.py @@ -2,8 +2,15 @@ import os.path import glob from sfa.trust.gid import GID +from sfa.util.sfalogging import logger class TrustedRoots: + + # we want to avoid reading all files in the directory + # this is because it's common to have backups of all kinds + # e.g. *~, *.hide, *-00, *.bak and the like + supported_extensions= [ 'gid', 'cert', 'pem' ] + def __init__(self, dir): self.basedir = dir # create the directory to hold the files, if not existing @@ -20,8 +27,17 @@ class TrustedRoots: def get_file_list(self): file_list = [] - pattern=os.path.join(self.basedir,"*.gid") + pattern = os.path.join(self.basedir,"*") for cert_file in glob.glob(pattern): if os.path.isfile(cert_file): - file_list.append(cert_file) + if self.has_supported_extension(cert_file): + file_list.append(cert_file) + else: + logger.warning("File {} ignored - supported extensions are {}" + .format(cert_file, TrustedRoots.supported_extensions)) return file_list + + def has_supported_extension (self,path): + (_,ext)=os.path.splitext(path) + ext=ext.replace('.','').lower() + return ext in TrustedRoots.supported_extensions