INNER CODE UNIT · Python
process_entry
OpenChemistry/avogadrolibs · scripts/copy-default.py:275
def process_entry(entry, locale, warnings=None):
"""Fill or respell one entry. Returns (kind, old, new) or None.
kind is 'filled' or 'respelled'. Plural forms are decided one by one;
forms edited by a human are kept. Singular forms generated here that
need manual verb agreement are appended to the warnings list.
"""
if entry.msgid_plural:
forms = entry.msgstr_plural
sources = {0: entry.msgid, 1: entry.msgid_plural}
generated = {0: resolve_plural(respell(entry.msgid, locale), True),
1: resolve_plural(respell(entry.msgid_plural, locale),
False)}
old_forms = {k: forms.get(k, '') for k in (0, 1)}
all_empty = all(v == '' for v in forms.values())
new_forms = {}
for k in (0, 1):
if old_forms[k] == '' or old_forms[k] == sources[k]: