From b8cb2f8dd54b8974ddadb587de654f8e5a4b106b Mon Sep 17 00:00:00 2001 From: CosmicAlpha Date: Wed, 25 Sep 2024 08:33:21 +0800 Subject: [PATCH 1/3] mwscript: use .php lists by default --- modules/mediawiki/files/bin/mwscript.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/mediawiki/files/bin/mwscript.py b/modules/mediawiki/files/bin/mwscript.py index 9794e8830c..66bb3ed5dc 100644 --- a/modules/mediawiki/files/bin/mwscript.py +++ b/modules/mediawiki/files/bin/mwscript.py @@ -27,11 +27,12 @@ def syscheck(result: CommandInfo | int) -> CommandInfo: def get_dblist_file(name: str) -> str: - # Check if .php file exists, if not, fallback to .json - if os.path.exists(f'/srv/mediawiki/cache/{name}.php'): - return f'{name}.php' + # Check if .json file exists, if not, use .php by default + # TODO: remove support for .json and always use PHP + if os.path.exists(f'/srv/mediawiki/cache/{name}.json'): + return f'{name}.json' - return f'{name}.json' + return f'{name}.php' def get_commands(args: argparse.Namespace) -> CommandInfo | int: From 463affc630a5c5320d3b9fda6dba4830ca077bf9 Mon Sep 17 00:00:00 2001 From: CosmicAlpha Date: Wed, 25 Sep 2024 08:36:42 +0800 Subject: [PATCH 2/3] Use .php in tests --- modules/mediawiki/files/bin/test_mwscript.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/mediawiki/files/bin/test_mwscript.py b/modules/mediawiki/files/bin/test_mwscript.py index 948d3f0fd5..322234f77e 100644 --- a/modules/mediawiki/files/bin/test_mwscript.py +++ b/modules/mediawiki/files/bin/test_mwscript.py @@ -29,7 +29,7 @@ def test_get_command_extension_list(mock_getlogin): args.version = '1.39' assert mwscript.syscheck(mwscript.get_commands(args)) == { 'confirm': False, - 'command': f'sudo -u www-data /usr/local/bin/foreachwikiindblist /home/{os.environ["LOGNAME"]}/CheckUser.json /srv/mediawiki/1.39/maintenance/test.php', + 'command': f'sudo -u www-data /usr/local/bin/foreachwikiindblist /home/{os.environ["LOGNAME"]}/CheckUser.php /srv/mediawiki/1.39/maintenance/test.php', 'generate': f'php /srv/mediawiki/1.39/extensions/MirahezeMagic/maintenance/generateExtensionDatabaseList.php --wiki=loginwiki --extension=CheckUser --directory=/home/{os.environ["LOGNAME"]}', 'long': True, 'nolog': False, @@ -41,7 +41,7 @@ def test_get_command_all(): args.script = 'test.php' args.arguments = ['all'] args.version = '1.39' - assert mwscript.syscheck(mwscript.get_commands(args)) == {'confirm': False, 'command': 'sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cache/databases.json /srv/mediawiki/1.39/maintenance/test.php', 'generate': None, 'long': True, 'nolog': False} + assert mwscript.syscheck(mwscript.get_commands(args)) == {'confirm': False, 'command': 'sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cache/databases.php /srv/mediawiki/1.39/maintenance/test.php', 'generate': None, 'long': True, 'nolog': False} def test_get_command_args(): @@ -86,7 +86,7 @@ def test_get_command_extension_list_runner(mock_getlogin): args.version = '1.40' assert mwscript.syscheck(mwscript.get_commands(args)) == { 'confirm': False, - 'command': f'sudo -u www-data /usr/local/bin/foreachwikiindblist /home/{os.environ["LOGNAME"]}/CheckUser.json /srv/mediawiki/1.40/maintenance/run.php /srv/mediawiki/1.40/maintenance/test.php', + 'command': f'sudo -u www-data /usr/local/bin/foreachwikiindblist /home/{os.environ["LOGNAME"]}/CheckUser.php /srv/mediawiki/1.40/maintenance/run.php /srv/mediawiki/1.40/maintenance/test.php', 'generate': f'php /srv/mediawiki/1.40/maintenance/run.php /srv/mediawiki/1.40/extensions/MirahezeMagic/maintenance/generateExtensionDatabaseList.php --wiki=loginwiki --extension=CheckUser --directory=/home/{os.environ["LOGNAME"]}', 'long': True, 'nolog': False, @@ -98,7 +98,7 @@ def test_get_command_all_runner(): args.script = 'test.php' args.arguments = ['all'] args.version = '1.40' - assert mwscript.syscheck(mwscript.get_commands(args)) == {'confirm': False, 'command': 'sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cache/databases.json /srv/mediawiki/1.40/maintenance/run.php /srv/mediawiki/1.40/maintenance/test.php', 'generate': None, 'long': True, 'nolog': False} + assert mwscript.syscheck(mwscript.get_commands(args)) == {'confirm': False, 'command': 'sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cache/databases.php /srv/mediawiki/1.40/maintenance/run.php /srv/mediawiki/1.40/maintenance/test.php', 'generate': None, 'long': True, 'nolog': False} def test_get_command_args_runner(): From 1027309b56ccfa3d78dda3b3b1e9cbca60dfd061 Mon Sep 17 00:00:00 2001 From: CosmicAlpha Date: Wed, 25 Sep 2024 08:38:55 +0800 Subject: [PATCH 3/3] -TODO --- modules/mediawiki/files/bin/mwscript.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mediawiki/files/bin/mwscript.py b/modules/mediawiki/files/bin/mwscript.py index 66bb3ed5dc..57f02b2e9e 100644 --- a/modules/mediawiki/files/bin/mwscript.py +++ b/modules/mediawiki/files/bin/mwscript.py @@ -28,7 +28,7 @@ def syscheck(result: CommandInfo | int) -> CommandInfo: def get_dblist_file(name: str) -> str: # Check if .json file exists, if not, use .php by default - # TODO: remove support for .json and always use PHP + # In the future, we will remove support for .json and always use PHP if os.path.exists(f'/srv/mediawiki/cache/{name}.json'): return f'{name}.json'