diff --git a/Script/Conf.cfg b/Script/Conf.cfg index 536dc7ddad2b5ddf64b9788ee48323a19a72a17b..d8e433879fc7840dc47c08cbc7b18b3f2008b539 100644 --- a/Script/Conf.cfg +++ b/Script/Conf.cfg @@ -105,9 +105,12 @@ DirList: ['/data1', # Unix pathname pattern for file selection -# FilePattern: ['*.data', '*.out'] DataFilePattern: ['*.data',] +# A regular expression to exclude some file from being processed. +# The filename is checked against this regex after being selected by DataFilePattern +ExcludeFileRegex: None + # Number of files to be deleted before to update the list of files to be copied nDel: 2 diff --git a/Script/Conf.py b/Script/Conf.py index 8d0af732e311247d562233b767fe0ed0b014be13..46fe979c7eca7fc9cf253547884b187953222aec 100644 --- a/Script/Conf.py +++ b/Script/Conf.py @@ -196,6 +196,11 @@ class Conf: # self.FilePattern = '*[.data,.out]' self.DataFilePattern = cfg.DataFilePattern + try: + self.ExcludeFileRegex = cfg.DataFilePattern + except AttributeError: + self.ExcludeFileRegex = None + # Number of files to be deleted before to update the list of files # to be copied self.nDel = cfg.nDel diff --git a/Script/ManagerThread.py b/Script/ManagerThread.py index f7bc1fe762c487f2c19c933c538dd57cf0c42a21..10fedcdb4cc2549972db2dcc2a967009d76ce36b 100644 --- a/Script/ManagerThread.py +++ b/Script/ManagerThread.py @@ -201,6 +201,10 @@ class ManagerThread(threading.Thread): if not filename in self.CopyFileList: self.logger.debug('New file: %s', filename) + if self.conf.ExcludeFileRegex and re.match(self.conf.ExcludeFileRegex, filename): + self.logger.debug('ignoring file matching exclude regex: %s', filename) + continue + # Check for minimal file size, if needed if self.MinSizekB: try: