def load_file(filename): """ Loads an output file from rAdvisor into an ordered dictionary of read timestamp (int) -> LogEntry in the order of logging """ entries = OrderedDict() metadata = None with open(filename, "r") as csvfile: yaml_lines = [] # Skip the first yaml delimeter next(csvfile) # Load all lines until the end of the yaml section file_iter = peekable(csvfile) while not file_iter.peek().startswith("---"): yaml_lines.append(next(file_iter)) # Skip the second yaml delimeter next(file_iter) # Load YAML to dictionary yaml_str = "\n".join(yaml_lines) yaml_loader = Loader(yaml_str) metadata = yaml_loader.get_data() csv_reader = csv.DictReader(file_iter) # skip header row next(csv_reader) preread = None try: for row in csv_reader: entry = LogEntry(row, entries=entries, preread=preread) entries[entry.read] = entry preread = entry.read except Error as e: print(e) print("An error ocurred. continuing...\n") return (entries, metadata)
def args_parser(path): with open(path) as f: setting=Loader(f) args=setting.get_data() return args