From 2da0d424093a715ff8e575337c2adc39ccd8c2c9 Mon Sep 17 00:00:00 2001 From: nbenedek Date: Fri, 7 Apr 2023 04:24:18 +0200 Subject: [PATCH] mediawiki: Fix broken view on Bullseye due to language selection Mediawiki on Bullseye ships with a different location for the Names.php file. This patch makes sure that the old location is also checked for the file. Signed-off-by: nbenedek [sunil: Fix checking if the file exists.] [sunil: Use similar paths for both versions of MediaWiki] Signed-off-by: Sunil Mohan Adapa Reviewed-by: Sunil Mohan Adapa --- plinth/modules/mediawiki/forms.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/plinth/modules/mediawiki/forms.py b/plinth/modules/mediawiki/forms.py index f7be188bf..81e29f56b 100644 --- a/plinth/modules/mediawiki/forms.py +++ b/plinth/modules/mediawiki/forms.py @@ -23,8 +23,15 @@ def get_skins(): def get_languages(): """Return a list of available languages as choice field values.""" - with open('/var/lib/mediawiki/includes/languages/data/Names.php', - 'r') as lang_file: + # Names.php has different locations on Bullseye Bookworm + names_old = pathlib.Path('/usr/share/mediawiki/languages/data/Names.php') + names_new = pathlib.Path('/usr/share/mediawiki/includes/languages/' + 'data/Names.php') + names_file = names_old + if not names_old.exists(): + names_file = names_new + + with open(names_file, 'r') as lang_file: content = lang_file.read() matches = re.findall(r"'([a-z_-]+)' => '(.+)', # .+", content) language_choices = [(code, name) for code, name in matches] @@ -75,5 +82,4 @@ class MediaWikiForm(forms.Form): # pylint: disable=W0232 label=_('Default Language'), required=False, help_text=_('Choose a default language for your MediaWiki ' 'installation. Users have the option to select ' - 'their preferred language.'), - choices=get_languages) + 'their preferred language.'), choices=get_languages)