From a7f75f98196d29b750d0a581dd43185c79ce7579 Mon Sep 17 00:00:00 2001 From: Daniel Garcia-Sanchez Date: Sat, 2 Feb 2019 11:29:09 +0100 Subject: [PATCH] Add script that checks the encoding of all the files The script check_encoding.py raises an expection if it finds a file that is not encoded with UTF8. --- contrib/utilities/check_encoding.py | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 contrib/utilities/check_encoding.py diff --git a/contrib/utilities/check_encoding.py b/contrib/utilities/check_encoding.py new file mode 100755 index 0000000000..bad19a3cf5 --- /dev/null +++ b/contrib/utilities/check_encoding.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +## --------------------------------------------------------------------- +## +## Copyright (C) 2019 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# This script checks if the files in the deal.II repository are encoded with +# valid UTF8. +# +# This script should be invoked from the root folder of the deal.ii +# repository: +# contrib/utilities/check_encoding.py + +import glob +import itertools + +filenames = itertools.chain(glob.iglob('**/*.h', recursive=True), + glob.iglob('**/*.cc', recursive=True), + glob.iglob('**/*.html', recursive=True)) + +for filename in filenames: + try: + with open(filename, encoding='utf-8') as file: + file.read() + except: + raise Exception(filename + ' is not encoded is not encoded with UTF-8') -- 2.39.5