| #!/usr/bin/env python3 |
| # |
| # Copyright 2019 Richard Hughes <richard@hughsie.com> |
| # |
| # SPDX-License-Identifier: LGPL-2.1-or-later |
| |
| import sys |
| import os |
| import subprocess |
| |
| |
| def _do_msgattrib(fn): |
| argv = [ |
| "msgattrib", |
| "--no-location", |
| "--translated", |
| "--no-wrap", |
| "--sort-output", |
| fn, |
| "--output-file=" + fn, |
| ] |
| ret = subprocess.run(argv) |
| if ret.returncode != 0: |
| return |
| |
| |
| def _do_nukeheader(fn): |
| clean_lines = [] |
| with open(fn) as f: |
| lines = f.readlines() |
| for line in lines: |
| if line.startswith('"POT-Creation-Date:'): |
| continue |
| if line.startswith('"PO-Revision-Date:'): |
| continue |
| if line.startswith('"Last-Translator:'): |
| continue |
| clean_lines.append(line) |
| with open(fn, "w") as f: |
| f.writelines(clean_lines) |
| |
| |
| def _process_file(fn): |
| _do_msgattrib(fn) |
| _do_nukeheader(fn) |
| |
| |
| if __name__ == "__main__": |
| if len(sys.argv) == 1: |
| print("path required") |
| sys.exit(1) |
| try: |
| dirname = sys.argv[1] |
| for fn in os.listdir(dirname): |
| if fn.endswith(".po"): |
| _process_file(os.path.join(dirname, fn)) |
| except NotADirectoryError: |
| print("path required") |
| sys.exit(2) |