feat: python extractor

This commit is contained in:
barredterra 2023-10-15 20:25:01 +02:00
parent e212cad44e
commit 6c4184afc2
3 changed files with 13 additions and 0 deletions

View file

View file

View file

@ -0,0 +1,13 @@
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