seitime-frappe/frappe/gettext/extractors/onboarding_step.py
2024-02-05 18:53:33 +05:30

35 lines
886 B
Python

import json
def extract(fileobj, *args, **kwargs):
"""
Extract messages from Onboarding Step JSON files.
:param fileobj: the file-like object the messages should be extracted from
:rtype: `iterator`
"""
data = json.load(fileobj)
if isinstance(data, list):
return
if data.get("doctype") != "Onboarding Step":
return
step_title = data.get("title")
yield None, "_", step_title, ["Title of an Onboarding Step"]
if action_label := data.get("action_label"):
yield None, "_", action_label, [f"Label of an action in the Onboarding Step '{step_title}'"]
if description := data.get("description"):
yield None, "_", description, [f"Description of the Onboarding Step '{step_title}'"]
if report_description := data.get("report_description"):
yield (
None,
"_",
report_description,
[f"Description of a report in the Onboarding Step '{step_title}'"],
)