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=["Main.py"]
    print MiscUtils.isOutdated(listInputFiles, listOutputFiles)