@staticmethod
def contentextract(txt):
    """
        Extract times values from a parsec log file output and return a
        dictionary of data.

        :param txt: Content text from a parsec output run.
        :return: dict with extracted values.
        """
    roitime = ''
    realtime = ''
    usertime = ''
    systime = ''
    for l in txt.split('\n'):
        if l.strip().startswith('[PARSEC] Benchmarks to run:'):
            benchmark = l.strip().split(':')[1]
            if benchmark.startswith('parsec'):
                benchmark = benchmark.strip().split('.')[1]
            else:
                benchmark = benchmark.strip()
        elif l.strip().startswith('[PARSEC] Unpacking benchmark input'):
            inputsize = l.strip().split("'")[1]
        elif l.strip().startswith('[PARSEC] No archive for input'):
            inputsize = l.strip().split("'")[1]
        elif l.strip().startswith('[HOOKS] Total time spent in ROI'):
            roitime = l.strip().split(':')[-1]
        elif l.strip().startswith('real'):
            realtime = l.strip().split('\t')[-1]
        elif l.strip().startswith('user'):
            usertime = l.strip().split('\t')[-1]
        elif l.strip().startswith('sys'):
            systime = l.strip().split('\t')[-1]
    if roitime:
        roitime = float(roitime.strip()[:-1])
    else:
        roitime = None
    if realtime:
        realtime = 60 * float(realtime.strip().split('m')[0]) + float(realtime
            .strip().split('m')[1][:-1])
    else:
        realtime = None
    if usertime:
        usertime = 60 * float(usertime.strip().split('m')[0]) + float(usertime
            .strip().split('m')[1][:-1])
    else:
        usertime = None
    if systime:
        systime = 60 * float(systime.strip().split('m')[0]) + float(systime
            .strip().split('m')[1][:-1])
    else:
        systime = None
    return {'benchmark': benchmark, 'input': inputsize, 'roitime': roitime,
        'realtime': realtime, 'usertime': usertime, 'systime': systime}
