| #!/usr/bin/env python3 |
| # pylint: disable=invalid-name,missing-docstring,consider-using-f-string |
| # pylint: disable=too-few-public-methods |
| # |
| # Copyright 2022 Richard Hughes <richard@hughsie.com> |
| # |
| # SPDX-License-Identifier: LGPL-2.1-or-later |
| |
| import glob |
| import sys |
| |
| from typing import List |
| |
| |
| def test_files(): |
| # compare with POTFILES.in |
| with open("po/POTFILES.in", "rb") as f: |
| potfiles_fns: List[str] = f.read().decode().split("\n") |
| for fn in sorted( |
| glob.glob("src/*.c") |
| + glob.glob("plugins/*/*.c") |
| + glob.glob("policy/*.policy.in") |
| + glob.glob("data/*/*.xml") |
| + glob.glob("libfwupdplugin/tests/bios-attrs/*/*.txt") |
| ): |
| if ( |
| fn.startswith("dist/") |
| or fn.startswith("subprojects/") |
| or fn.startswith("build/") |
| ): |
| continue |
| with open(fn, "rb") as f: |
| blob = f.read().decode() |
| if blob.find('_("') != -1 or blob.find("TRANSLATORS") != -1: |
| if fn not in potfiles_fns: |
| print(f"{fn} is missing from po/POTFILES.in") |
| return 1 |
| |
| # success |
| return 0 |
| |
| |
| if __name__ == "__main__": |
| # all done! |
| sys.exit(test_files()) |