From e82f33d220ed8c9474e05bcf0926aed170ff0ff3 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Thu, 16 Jun 2016 02:19:18 +0900 Subject: [PATCH] Syntax check for YAML file translation_team.yaml is now used by stackalytics. It is a good idea to YAML format check in pep8 check. Change-Id: I33f6311412a5cb67692992e1ba021d56eede7ce5 --- test-requirements.txt | 1 + tools/check_yaml_file.py | 31 +++++++++++++++++++++++++++++++ tox.ini | 1 + 3 files changed, 33 insertions(+) create mode 100644 tools/check_yaml_file.py diff --git a/test-requirements.txt b/test-requirements.txt index 134997d..e466623 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,3 +7,4 @@ hacking<0.11,>=0.10.2 # Apache-2.0 Babel>=2.3.4 # BSD sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +PyYAML>=3.1.0 # MIT diff --git a/tools/check_yaml_file.py b/tools/check_yaml_file.py new file mode 100644 index 0000000..a3bc97b --- /dev/null +++ b/tools/check_yaml_file.py @@ -0,0 +1,31 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import argparse + +import yaml + + +def main(parsed_args): + filename = parsed_args.filename + with open(filename) as f: + data = f.read() + yaml.safe_load(data) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('filename') + parsed_args = parser.parse_args() + + main(parsed_args) diff --git a/tox.ini b/tox.ini index 5ccf1af..b606b93 100644 --- a/tox.ini +++ b/tox.ini @@ -19,4 +19,5 @@ commands = sphinx-build -W -b html doc/source doc/build/html commands = flake8 bash -c "find {toxinidir} -type f \( -name '*.po' -o -name '*.pot' \) -print0 | xargs -0 -n1 --no-run-if-empty msgfmt --check-format -o /dev/null" + python {toxinidir}/tools/check_yaml_file.py {toxinidir}/tools/zanata/translation_team.yaml whitelist_externals = bash