Skip to content
Snippets Groups Projects
fileProcessor.py 1.01 KiB
Newer Older
#!/usr/bin/env python

import abc
class FileProcessor:

    DEFAULT_NUMBER_OF_RETRIES = 0
    DEFAULT_RETRY_WAIT_PERIOD_IN_SECONDS = 60

    def __init__(self):
        self.configDict = {}

    @abc.abstractmethod
    def processFile(self, filePath, daqPath, experiment):
        return NotImplemented
        
    def configure(self):
        # Use this method for processor configuration
        pass

    def setConfigKeyValue(self, key, value):
        self.configDict[key] = value

    def getConfigKeyValue(self, key):
        return self.configDict.get(key)

    def setNumberOfRetries(self, nRetries):
        self.configDict['numberOfRetries'] = nRetries

    def getNumberOfRetries(self):
        self.configDict.get('numberOfRetries', self.DEFAULT_NUMBER_OF_RETRIES)

    def setRetryWaitPeriodInSeconds(self, waitPeriod):
        self.configDict['retryWaitPeriodInSeconds'] = waitPeriod

    def getRetryWaitPeriodInSeconds(self):
        self.configDict.get('retryWaitPeriodInSeconds', DEFAULT_RETRY_WAIT_PERIOD_IN_SECONDS)