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 <contact@nbenedek.me>
[sunil: Fix checking if the file exists.]
[sunil: Use similar paths for both versions of MediaWiki]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
nbenedek 2023-04-07 04:24:18 +02:00 committed by Sunil Mohan Adapa
parent 3bba38c21d
commit 2da0d42409
No known key found for this signature in database
GPG Key ID: 43EA1CFF0AA7C5F2

View File

@ -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)