示例#1
0
 def get_tools_list(self, TOOL_FILE_PATH):
     tool_list = []
     cur_tool_obj = None
     with open(TOOL_FILE_PATH, "r", errors='ignore',
               encoding='utf-8') as reader:
         for line in reader:
             line = line.strip()
             if (line == ""):
                 continue
             tool_pattern = re.compile(TOOL)
             tool_id_pattern = re.compile(TOOL_ID)
             tool_name_pattern = re.compile(TOOL_NAME)
             tool_description_pattern = re.compile(TOOL_DESCR)
             tool_url_pattern = re.compile(TOOL_URL)
             tool_supp_smells_pattern = re.compile(TOOL_SUPP_SMELL)
             tool_supp_langs_pattern = re.compile(TOOL_SUPP_LANGS)
             tool_end_pattern = re.compile(TOOL_END)
             if (re.search(tool_pattern, line) != None):
                 cur_tool_obj = Tool()
             elif (re.search(tool_end_pattern, line) != None):
                 tool_list.append(cur_tool_obj)
             elif (re.search(tool_id_pattern, line) != None):
                 cur_tool_obj.id = re.split(TOOL_ID, line)[1].strip()
             elif (re.search(tool_name_pattern, line) != None):
                 cur_tool_obj.name = re.split(TOOL_NAME, line)[1].strip()
             elif (re.search(tool_description_pattern, line) != None):
                 cur_tool_obj.description = re.split(TOOL_DESCR,
                                                     line)[1].strip()
             elif (re.search(tool_url_pattern, line) != None):
                 cur_tool_obj.url = re.split(TOOL_URL, line)[1].strip()
             elif (re.search(tool_supp_smells_pattern, line) != None):
                 cur_tool_obj.supported_smells.append(
                     re.split(TOOL_SUPP_SMELL, line)[1].strip())
             elif (re.search(tool_supp_langs_pattern, line) != None):
                 cur_tool_obj.supported_langs = re.split(
                     TOOL_SUPP_LANGS, line)[1].strip()
     return tool_list