Exemple #1
0
    def getBlacklists(self):
        """
        @brief      Get The Local Preset Status Code Related Blacklist

        @param      self  The Object

        @return     Target Blacklist Dictionary
        """
        blacklists = {}  # Target Dictionary (Consists of Status Code Lists)
        # 400 -> Bad Request, 403 -> Forbidden, 500 ->Internal Server Error
        db_Path = FileUtils.createPath(self.script_path, 'db')  # Local DB Path
        for status in [400, 403, 500]:
            blacklistFileName = FileUtils.createPath(  # Join Status Code as Filename (e.g. 403_blacklist.txt)
                db_Path, '{}_blacklist.txt'.format(status))
            blacklists[status] = []  # Status Code List Contained In Dictionary

            if not FileUtils.canRead(blacklistFileName):
                continue  # Skip Unreadable File
            for line in FileUtils.getLines(blacklistFileName):
                if line.lstrip().startswith('#'):
                    continue  # Skip Comments In The File
                blacklists[status].append(line)

        return blacklists
 def canRead(self):
     return FileUtils.canRead(self.path)