msgfmthelper.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Copyright 2016 The Meson development team
  2. # Licensed under the Apache License, Version 2.0 (the "License");
  3. # you may not use this file except in compliance with the License.
  4. # You may obtain a copy of the License at
  5. # http://www.apache.org/licenses/LICENSE-2.0
  6. # Unless required by applicable law or agreed to in writing, software
  7. # distributed under the License is distributed on an "AS IS" BASIS,
  8. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. # See the License for the specific language governing permissions and
  10. # limitations under the License.
  11. import argparse
  12. import subprocess
  13. import os
  14. parser = argparse.ArgumentParser()
  15. parser.add_argument('input')
  16. parser.add_argument('output')
  17. parser.add_argument('type')
  18. parser.add_argument('podir')
  19. parser.add_argument('--datadirs', default='')
  20. parser.add_argument('args', default=[], metavar='extra msgfmt argument', nargs='*')
  21. def run(args):
  22. options = parser.parse_args(args)
  23. env = None
  24. if options.datadirs:
  25. env = os.environ.copy()
  26. env.update({'GETTEXTDATADIRS': options.datadirs})
  27. return subprocess.call(['msgfmt', '--' + options.type, '-d', options.podir,
  28. '--template', options.input, '-o', options.output] + options.args,
  29. env=env)