def extract_scalar_data()

in probe_scraper/parsers/scalars.py [0:0]


def extract_scalar_data(s):

    # External scalars.yaml files have release/prerelease, not opt-in/opt-out
    try:
        optout = s.dataset.endswith("_OPTOUT")
    except KeyError:
        optout = s._definition.get("collect_on_channels", "prerelease") == "release"

    return {
        "description": s.description,
        "expiry_version": get_major_version(s.expires),
        "cpp_guard": s.cpp_guard,
        "optout": optout,
        "bug_numbers": s.bug_numbers,
        "notification_emails": s.notification_emails,
        "details": {
            "keyed": s.keyed,
            "kind": s.kind,
            "record_in_processes": s.record_in_processes,
            "record_into_store": s.record_into_store,
        },
    }