def processLines(f, dictionaries): dict = {} lineCount = 0 for line in f: #Ignoring header (first line) if needed. if lineCount == 0: lineCount += 1 if ignoreHeader: continue columns = columnsMask.lower().split(separator) values = line.split(separator) for column in columns: column = Utilities.sanitise(column.lower()) #meaningless columns defined by 'null' or empty value if column == "null" or column == "": continue if len(values) <= columns.index(column): dict[column] = "" else: dict[column] = Utilities.sanitise( values[columns.index(column)]) #'name' and 'classname' are mandatory. Ignoring lines without any of these fields. if not (dict["name"] == "" or dict["classname"] == "" or dict["status"] == ""): if dict["classname"] in dictionaries: dictionaries[dict["classname"]].append(dict.copy()) else: dictionaries[dict["classname"]] = [] dictionaries[dict["classname"]].append(dict.copy())