def parse_damon_result_for()

in _damon_result.py [0:0]


def parse_damon_result_for(result_file, file_type, f, fmt_version, max_secs):
    if not file_type:
        file_type = 'record'
        output = subprocess.check_output('file -b \'%s\'' % result_file,
                shell=True, executable='/bin/bash').decode().strip()
        if output == 'ASCII text':
            file_type = 'perf_script'

    if file_type == 'record':
        result, f, fmt_version = record_to_damon_result(result_file,
                f, fmt_version, max_secs)
    elif file_type == 'perf_script':
        result, f = perf_script_to_damon_result(result_file, f, max_secs)
        fmt_version = None
    else:
        print('unknown result file type: %s (%s)' % (file_type, result_file))
        return None

    for snapshots in result.target_snapshots.values():
        if len(snapshots) < 2:
            break
        if not result.start_time:
            end_time = snapshots[-1].end_time
            start_time = snapshots[0].end_time
            nr_snapshots = len(snapshots) - 1
            snapshot_time = float(end_time - start_time) / nr_snapshots

            result.start_time = start_time - snapshot_time
            result.end_time = end_time
            result.nr_snapshots = nr_snapshots + 1

        snapshots[0].start_time = snapshots[0].end_time - snapshot_time

    return result, f, fmt_version