From 168c2ffffd3f0141a7a7b3d8b5a3d5f5f9d1b8a8 Mon Sep 17 00:00:00 2001 From: RhinosF1 Date: Sat, 18 May 2024 14:17:37 +0100 Subject: [PATCH 1/6] Update fix_container_permissions.py --- miraheze/swift/fix_container_permissions.py | 26 ++++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/miraheze/swift/fix_container_permissions.py b/miraheze/swift/fix_container_permissions.py index 289e040..4a85999 100644 --- a/miraheze/swift/fix_container_permissions.py +++ b/miraheze/swift/fix_container_permissions.py @@ -2,17 +2,25 @@ import re import subprocess import sys +import argparse -if len(sys.argv) != 2: - print("Please use in form of 'python fix_containers.py foowiki'") - sys.exit(1) -wiki = sys.argv[1] +def fix_container_perms(wiki: str) -> None: + out = subprocess.run(['sudo', '-u', 'www-data', 'php', '/srv/mediawiki/1.41/maintenance/run.php', '/srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php', '--wiki', wiki], capture_output=True, text=True) + matches = re.findall(r"Making sure 'mwstore:\/\/miraheze-swift\/([^']+)' [^\n]+\.failed\.", out.stdout) + for match in matches: + os.system(f"swift post --read-acl 'mw:media' --write-acl 'mw:media' miraheze-{wiki}-{match}") -out = subprocess.run(['sudo', '-u', 'www-data', 'php', '/srv/mediawiki/1.41/maintenance/run.php', '/srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php', '--wiki', wiki], capture_output=True, text=True) + os.system(f'sudo -u www-data php /srv/mediawiki/1.41/maintenance/run.php /srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php --wiki {wiki}') -matches = re.findall(r"Making sure 'mwstore:\/\/miraheze-swift\/([^']+)' [^\n]+\.failed\.", out.stdout) -for match in matches: - os.system(f"swift post --read-acl 'mw:media' --write-acl 'mw:media' miraheze-{wiki}-{match}") -os.system(f'sudo -u www-data php /srv/mediawiki/1.41/maintenance/run.php /srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php --wiki {wiki}') +def main() -> None: + parser = argparse.ArgumentParser(description='Executes the commands needed to reset wikis') + parser.add_argument('--wiki', required=True, help='wiki database name') + + args = parser.parse_args() + fix_container_perms(args.wiki) + + +if __name__ == '__main__': + main() From db7a1a321ee0d756ccdd20fa4b29bcfa137909c3 Mon Sep 17 00:00:00 2001 From: RhinosF1 Date: Sat, 18 May 2024 14:18:19 +0100 Subject: [PATCH 2/6] Update setup.cfg --- setup.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.cfg b/setup.cfg index f12093f..6c681d9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -13,3 +13,4 @@ python_requires = >=3.11 console_scripts = partial-reset-wiki = miraheze.salt.mwcli.partial_reset_wiki:main rename-wiki = miraheze.salt.mwcli.rename_wiki:main + fix-container-perms = miraheze.swift.fix_container_permissions:main From b9a1f9fbfbd47f33ba652e9f79e020ab2e7bf68d Mon Sep 17 00:00:00 2001 From: RhinosF1 Date: Sat, 18 May 2024 14:19:30 +0100 Subject: [PATCH 3/6] Update fix_container_permissions.py --- miraheze/swift/fix_container_permissions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/miraheze/swift/fix_container_permissions.py b/miraheze/swift/fix_container_permissions.py index 4a85999..4262737 100644 --- a/miraheze/swift/fix_container_permissions.py +++ b/miraheze/swift/fix_container_permissions.py @@ -1,7 +1,6 @@ import os import re import subprocess -import sys import argparse From 76c084b6099fd302ac02c9ba3cc3ed708321b40b Mon Sep 17 00:00:00 2001 From: RhinosF1 Date: Sat, 18 May 2024 14:46:05 +0100 Subject: [PATCH 4/6] Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- miraheze/swift/fix_container_permissions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/miraheze/swift/fix_container_permissions.py b/miraheze/swift/fix_container_permissions.py index 4262737..d9b699b 100644 --- a/miraheze/swift/fix_container_permissions.py +++ b/miraheze/swift/fix_container_permissions.py @@ -8,13 +8,13 @@ def fix_container_perms(wiki: str) -> None: out = subprocess.run(['sudo', '-u', 'www-data', 'php', '/srv/mediawiki/1.41/maintenance/run.php', '/srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php', '--wiki', wiki], capture_output=True, text=True) matches = re.findall(r"Making sure 'mwstore:\/\/miraheze-swift\/([^']+)' [^\n]+\.failed\.", out.stdout) for match in matches: - os.system(f"swift post --read-acl 'mw:media' --write-acl 'mw:media' miraheze-{wiki}-{match}") + subprocess.run(['swift', 'post', '--read-acl', 'mw:media', '--write-acl', 'mw:media', f'miraheze-{wiki}-{match}'], check=True) os.system(f'sudo -u www-data php /srv/mediawiki/1.41/maintenance/run.php /srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php --wiki {wiki}') def main() -> None: - parser = argparse.ArgumentParser(description='Executes the commands needed to reset wikis') + parser = argparse.ArgumentParser(description='Fix container permissions for a specified wiki') parser.add_argument('--wiki', required=True, help='wiki database name') args = parser.parse_args() From d41113c4dce96905d1fcceca05d46a8405b97e1d Mon Sep 17 00:00:00 2001 From: RhinosF1 Date: Sat, 18 May 2024 14:48:47 +0100 Subject: [PATCH 5/6] Update fix_container_permissions.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- miraheze/swift/fix_container_permissions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miraheze/swift/fix_container_permissions.py b/miraheze/swift/fix_container_permissions.py index d9b699b..95e537c 100644 --- a/miraheze/swift/fix_container_permissions.py +++ b/miraheze/swift/fix_container_permissions.py @@ -10,7 +10,7 @@ def fix_container_perms(wiki: str) -> None: for match in matches: subprocess.run(['swift', 'post', '--read-acl', 'mw:media', '--write-acl', 'mw:media', f'miraheze-{wiki}-{match}'], check=True) - os.system(f'sudo -u www-data php /srv/mediawiki/1.41/maintenance/run.php /srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php --wiki {wiki}') + subprocess.run(['sudo', '-u', 'www-data', 'php', '/srv/mediawiki/1.41/maintenance/run.php', '/srv/mediawiki/1.41/extensions/CreateWiki/maintenance/setContainersAccess.php', '--wiki', wiki]) def main() -> None: From 6681ea745c213e37cec411d29b441d0121dfe33b Mon Sep 17 00:00:00 2001 From: RhinosF1 Date: Sat, 18 May 2024 14:52:25 +0100 Subject: [PATCH 6/6] Update fix_container_permissions.py --- miraheze/swift/fix_container_permissions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/miraheze/swift/fix_container_permissions.py b/miraheze/swift/fix_container_permissions.py index 95e537c..abe95b0 100644 --- a/miraheze/swift/fix_container_permissions.py +++ b/miraheze/swift/fix_container_permissions.py @@ -1,4 +1,3 @@ -import os import re import subprocess import argparse