From 152d69ccf48702a828b9814338edb5819bcaaf94 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 10 Apr 2024 17:04:08 +0200 Subject: [PATCH] Convert `forbiddenTerms` to a dict, and improve the output format. --- tools/localazy/checkForbiddenTerms.py | 34 +++++++++++++-------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/tools/localazy/checkForbiddenTerms.py b/tools/localazy/checkForbiddenTerms.py index 2173228784..e642f32c54 100755 --- a/tools/localazy/checkForbiddenTerms.py +++ b/tools/localazy/checkForbiddenTerms.py @@ -5,21 +5,19 @@ from xml.dom import minidom file = sys.argv[1] -# Arrays of forbidden terms, with exceptions for some keys -forbiddenTerms = [ - [ - "Element", - [ - # Those 2 strings are only used in debug version - "screen_advanced_settings_element_call_base_url", - "screen_advanced_settings_element_call_base_url_description", - # only used for element.io homeserver, so it's fine - "screen_server_confirmation_message_login_element_dot_io", - # "Be in your element", will probably be changed on the forks, so we can ignore. - "screen_onboarding_welcome_title", - ] +# Dict of forbidden terms, with exceptions for some String name +# Keys are the terms, values are the exceptions. +forbiddenTerms = { + "Element": [ + # Those 2 strings are only used in debug version + "screen_advanced_settings_element_call_base_url", + "screen_advanced_settings_element_call_base_url_description", + # only used for element.io homeserver, so it's fine + "screen_server_confirmation_message_login_element_dot_io", + # "Be in your element", will probably be changed on the forks, so we can ignore. + "screen_onboarding_welcome_title", ] -] +} content = minidom.parse(file) @@ -35,9 +33,9 @@ for elem in content.getElementsByTagName('string'): continue value = child.nodeValue # If value contains a forbidden term, add the error to errors - for (term, exceptions) in forbiddenTerms: + for (term, exceptions) in forbiddenTerms.items(): if term in value and name not in exceptions: - errors.append('Forbidden term "' + term + '" in string: ' + name + ": " + value) + errors.append('Forbidden term "' + term + '" in string: "' + name + '": ' + value) ### Plurals for elem in content.getElementsByTagName('plurals'): @@ -52,9 +50,9 @@ for elem in content.getElementsByTagName('plurals'): continue value = child.nodeValue # If value contains a forbidden term, add the error to errors - for (term, exceptions) in forbiddenTerms: + for (term, exceptions) in forbiddenTerms.items(): if term in value and name not in exceptions: - errors.append('Forbidden term "' + term + '" in plural: ' + name + ": " + value) + errors.append('Forbidden term "' + term + '" in plural: "' + name + '": ' + value) # If errors is not empty print the report if errors: