babel
babel copied to clipboard
Allow extractors to provide message flags
This adds a sixth value to the tuple returned by the extractor functions which should be a set of flags.
Which flags should be applied to a message should be determined by the extractor, as it depends on e.g. the file format being parsed. For example "%s" should have the python-format flag if it was parsed from a Python file and the c-format flag if it was extracted from a C file.
The logic of detecting python-format flags is also moved to the Python extractor in this PR.
NOTE:
This is partially a breaking change. Backwards compability is maintained with extractors that return 5-tuples instead of 6-tuples, but the interface Babel exposes for extracting messages always returns 6-tuples. I don't see a good way around this.
Removing the python-format detection from Message.init is also a breaking change, but that could potentially be put back for now.
Fixes #35