seitime-frappe/frappe/gettext/extractors/python.py
2023-10-15 20:25:01 +02:00

13 lines
464 B
Python

from babel.messages.extract import extract_python
def extract(*args, **kwargs):
"""
Wrapper around babel's `extract_python`, handling our own implementation of `_()`
"""
for lineno, funcname, messages, comments in extract_python(*args, **kwargs):
if funcname == "_" and isinstance(messages, tuple) and len(messages) > 1:
funcname = "pgettext"
messages = (messages[-1], messages[0]) # (context, message)
yield lineno, funcname, messages, comments