import os.path

class MiscUtils(object):

    @staticmethod
    def isOutdated(listInputFiles, listOutputFiles):
        thresholdTimeStamp = None
        if len(listInputFiles) == 0:
            return False
        if len(listOutputFiles) == 0:
            return True
        for f in listOutputFiles:
            t = os.path.getmtime(f)
            if thresholdTimeStamp is None:
                thresholdTimeStamp = t
            if t < thresholdTimeStamp:
                thresholdTimeStamp = t
        for f in listInputFiles:
            t = os.path.getmtime(f)
            if t > thresholdTimeStamp:
                return True
        return False

    @staticmethod
    def getListSpecFiles(listSpecFiles, path):
        for dirEntry in os.listdir(path):
            dirEntryPath = os.path.join(path, dirEntry)
            if os.path.isfile(dirEntryPath) and dirEntryPath.endswith(".spec"):
                listSpecFiles.append(dirEntryPath)
            elif os.path.isdir(dirEntryPath):
                MiscUtils.getListSpecFiles(listSpecFiles, dirEntryPath)

if __name__ == "__main__":
    listInputFiles = ["SpecParser.py", "Logger.py"]
    listOutputFiles = ["builder.py"]
    print(MiscUtils.isOutdated(listInputFiles, listOutputFiles))