import json, os
def parse(s):
    d={'content_type':'','has_csp':0,'has_cd':0,'inline_html':0}
    if s and s != 'NOFILE':
        for part in s.split('|'):
            if '=' not in part:
                continue
            k, v = part.split('=', 1)
            if k == 'CT':
                d['content_type'] = v
            elif k == 'CSP':
                d['has_csp'] = int(v)
            elif k == 'CD':
                d['has_cd'] = int(v)
            elif k == 'INLINE_HTML':
                d['inline_html'] = int(v)
    return d
out = {
    'variant_on_vulnerable':  os.environ.get('VARIANT_ON_VULN', 'false') == 'true',
    'variant_bypass_on_fixed': os.environ.get('VARIANT_BYPASS', 'false') == 'true',
    'vuln_variant':  parse(os.environ.get('VULN_VARIANT', '')),
    'fixed_variant': parse(os.environ.get('FIXED_VARIANT', '')),
    'vuln_control':  parse(os.environ.get('VULN_CONTROL', '')),
    'fixed_control': parse(os.environ.get('FIXED_CONTROL', '')),
}
with open(os.environ.get('OUT_JSON', 'variant_result.json'), 'w') as f:
    json.dump(out, f, indent=2)
print('Wrote ' + os.environ.get('OUT_JSON', 'variant_result.json'))
