diff options
author | Caolán McNamara <caolanm@redhat.com> | 2023-01-03 20:55:54 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2023-01-05 09:56:48 +0000 |
commit | 8549d6e26f5116b1fcf5e066252cc987a3f2574f (patch) | |
tree | 618d5251271f982f1079572c8071da98b8b18c15 | |
parent | 8ecc8ebf2b94615928449f431884525b605fbfa5 (diff) |
Related: tdf#150687 check autocorr DocumentList.xml at build time
to ensure no noopt entries exist
Change-Id: I9fb95e211d6030e1f551558fd5a0a3ca700c8fc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145030
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rwxr-xr-x | bin/check-autocorr.py | 39 | ||||
-rwxr-xr-x | bin/find-autocorr-samevalue-beforeafter.py | 45 | ||||
-rw-r--r-- | extras/CustomTarget_autocorr.mk | 6 |
3 files changed, 44 insertions, 46 deletions
diff --git a/bin/check-autocorr.py b/bin/check-autocorr.py new file mode 100755 index 000000000000..ebf1b50b1911 --- /dev/null +++ b/bin/check-autocorr.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Use this script to find the lines in extras/source/autocorr/lang/<language>/DocumentList.xml +# which contain the same value for abbreviated-name and name +# Usage sample: ./bin/check-autocorr.py extras/source/autocorr/lang/tr/DocumentList.xml + +import sys +import os +import xml.etree.ElementTree as ET + +complete_file = sys.argv[1] + +bAllFilesOk = True + +# parse the XML file +tree = ET.parse(complete_file) +root = tree.getroot() + +# find all elements X +elements_x = root.findall('.//block-list:block', namespaces={'block-list': "http://openoffice.org/2001/block-list"}) +for element in elements_x: + # get the value of the attribute "abbreviated-name" + value_a = element.get('{http://openoffice.org/2001/block-list}abbreviated-name') + # get the value of the attribute "name" + value_b = element.get('{http://openoffice.org/2001/block-list}name') + # check if the values are equal + if value_a == value_b: + print('In ' + complete_file + ' same value: ' + value_a) + bAllFilesOk = False + +if bAllFilesOk == True: + exit(0) +exit(1) diff --git a/bin/find-autocorr-samevalue-beforeafter.py b/bin/find-autocorr-samevalue-beforeafter.py deleted file mode 100755 index 7116100bdb87..000000000000 --- a/bin/find-autocorr-samevalue-beforeafter.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python3 - -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -# Use this script to find the lines in extras/source/autocorr/lang/<language>/DocumentList.xml -# which contain the same value for abbreviated-name and name -# Usage sample: ./find-autocorr-samevalue-beforeafter.py - -import os -import xml.etree.ElementTree as ET - -root_dir = '../extras/source/autocorr/lang' - -bAllFilesOk = True - -for root, dirs, files in os.walk(root_dir): - for file in files: - - # just deal with DocumentList.xml, ignore the other files - if (file != "DocumentList.xml"): - continue - complete_file = os.path.join(str(root), file) - # parse the XML file - tree = ET.parse(complete_file) - root = tree.getroot() - - # find all elements X - elements_x = root.findall('.//block-list:block', namespaces={'block-list': "http://openoffice.org/2001/block-list"}) - for element in elements_x: - # get the value of the attribute "abbreviated-name" - value_a = element.get('{http://openoffice.org/2001/block-list}abbreviated-name') - # get the value of the attribute "name" - value_b = element.get('{http://openoffice.org/2001/block-list}name') - # check if the values are equal - if value_a == value_b: - print('In ' + complete_file + ' same value: ' + value_a) - bAllFilesOk = False - -if bAllFilesOk == True: - exit(0) -exit(1) diff --git a/extras/CustomTarget_autocorr.mk b/extras/CustomTarget_autocorr.mk index b602e5bb13ea..f97c8f1d2d71 100644 --- a/extras/CustomTarget_autocorr.mk +++ b/extras/CustomTarget_autocorr.mk @@ -9,6 +9,8 @@ $(eval $(call gb_CustomTarget_CustomTarget,extras/source/autocorr)) +autocorr_PYTHONCOMMAND := $(call gb_ExternalExecutable_get_command,python) + extras_AUTOCORR_LANGS := \ af-ZA:af-ZA \ bg:bg-BG \ @@ -268,11 +270,13 @@ $(call gb_CustomTarget_get_workdir,extras/source/autocorr)/acor_%.dat : \ $$(addprefix \ $(call gb_CustomTarget_get_workdir,extras/source/autocorr)/$$(call extras_AUTOCORR_SHORTLANG,$$*)/,\ mimetype \ - $$(call extras_AUTOCORR_XMLFILES_LANG,$$(call extras_AUTOCORR_SHORTLANG,$$*))) + $$(call extras_AUTOCORR_XMLFILES_LANG,$$(call extras_AUTOCORR_SHORTLANG,$$*))) \ + | $(call gb_ExternalExecutable_get_dependencies,python) $(call gb_Output_announce,autocorr/acor_$*.dat,$(true),ZIP,2) $(call gb_Trace_StartRange,autocorr/acor_$*.dat,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(dir $<) && \ + $(autocorr_PYTHONCOMMAND) $(SRCDIR)/bin/check-autocorr.py DocumentList.xml && \ zip -q0X --filesync --must-match $@ mimetype && \ zip -qrX --must-match $@ $(call extras_AUTOCORR_XMLFILES_LANG,$(call extras_AUTOCORR_SHORTLANG,$*)) \ ) |