in glam/api/management/commands/import_probes.py [0:0]
def transform(self, probe):
# Takes a single probe dict, and returns a Probe object we want to insert.
latest_history = (
probe["history"].get("nightly")
or probe["history"].get("beta")
or probe["history"].get("release")
)[0]
nightly_versions = self.get_probe_versions("nightly", probe)
name = self.get_name(probe["key"])
expiry = latest_history.get("expiry_version")
key = probe["key"]
info = {
"name": name,
"apiName": key,
"description": latest_history["description"],
"type": probe["type"],
"kind": latest_history["details"].get("kind"),
"labels": latest_history["details"].get("labels"),
"versions": {
"nightly": nightly_versions,
"beta": self.get_probe_versions("beta", probe),
"release": self.get_probe_versions("release", probe),
},
"record_in_processes": latest_history["details"].get(
"record_in_processes", []
),
"optout": {
"nightly": self.get_optout("nightly", probe),
"beta": self.get_optout("beta", probe),
"release": self.get_optout("release", probe),
},
"bugs": latest_history["bug_numbers"],
# active (bool): TRUE if last recorded nightly version is equal to
# the latest nightly version.
"active": expiry == "never"
or (nightly_versions[1] and int(expiry) > int(nightly_versions[1])),
# prelease (bool): TRUE if "optout" is false on the "release"
# channel, i.e., it's recorded by default on all channels.
"prerelease": self.get_optout("release", probe) is False,
}
return {"key": key, "info": info}