[Kimchi-devel] [PATCH 2/2] add a method to check the i18n strings are obsolete

Daniel H Barboza danielhb at linux.vnet.ibm.com
Thu Apr 10 14:54:27 UTC 2014


Reviewed-by: Daniel Barboza <danielhb at linux.vnet.ibm.com>

On 04/07/2014 10:39 PM, shaohef at linux.vnet.ibm.com wrote:
> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>
> There are some i18n strings are no longer in use in source code.
> But they are still remain in i18n.py.
>
> We should add a mechanism to check the obsolete i18n strings.
>
> Signed-off-by: Zhou Zheng Sheng <zhshzhou at linux.vnet.ibm.com>
> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
> ---
>   contrib/check_i18n.py | 20 ++++++++++++++++++++
>   1 file changed, 20 insertions(+)
>
> diff --git a/contrib/check_i18n.py b/contrib/check_i18n.py
> index e3c2b8c..e9eab6e 100755
> --- a/contrib/check_i18n.py
> +++ b/contrib/check_i18n.py
> @@ -45,6 +45,25 @@ def check_string_formatting(messages):
>               exit(1)
>
>
> +def check_obsolete_messages(path, messages):
> +    def find_message_key(path, k):
> +        for root, dirs, files in os.walk(path):
> +            for f in files:
> +                fname = os.path.join(root, f)
> +                if (not fname.endswith("i18n.py") and fname.endswith(".py")
> +                   or fname.endswith(".json")):
> +                    with open(fname) as f:
> +                        string = "".join(f.readlines())
> +                        if k in string:
> +                            return True
> +        return False
> +
> +    for k in messages.iterkeys():
> +        if not find_message_key(path, k):
> +            print "  %s is obsolete, it is no longer in use" % k
> +            exit(1)
> +
> +
>   def main():
>       files = []
>       for v in sys.argv[1:]:
> @@ -54,6 +73,7 @@ def main():
>       for f in files:
>           messages = load_i18n_module(f).messages
>           check_string_formatting(messages)
> +        check_obsolete_messages(os.path.dirname(f), messages)
>       print "Checking for invalid i18n string successfully"
>
>




More information about the Kimchi-devel mailing list