From c8b4b0f58f33432fbeff3e25175677aa9cbb5c14 Mon Sep 17 00:00:00 2001 From: Jochen Kupperschmidt Date: Sat, 20 Feb 2021 20:11:38 +0100 Subject: [PATCH] Introduce one-line helper for script execution --- scripts/_util.py | 7 +++++++ scripts/add_archived_attendance.py | 5 ++--- scripts/announce_orga_birthdays.py | 5 ++--- scripts/clean_up_after_deleted_users.py | 5 ++--- scripts/copy_snippets.py | 5 ++--- scripts/create_database_tables.py | 5 ++--- scripts/create_initial_admin_user.py | 5 ++--- scripts/create_seating_area.py | 5 ++--- scripts/create_terms_version.py | 5 ++--- scripts/delete_old_user_login_events.py | 5 ++--- scripts/export_permissions_and_roles.py | 5 ++--- scripts/export_ticket_user_email_addresses.py | 5 ++--- scripts/find_logins_for_ipaddress.py | 5 ++--- scripts/generate_sql_to_delete_user.py | 5 ++--- scripts/grant_board_access.py | 5 ++--- scripts/import_permissions_and_roles.py | 5 ++--- scripts/occupy_seat_group.py | 5 ++--- scripts/remove_user_sessions.py | 5 ++--- scripts/search_snippets.py | 5 ++--- scripts/set_current_terms_version.py | 5 ++--- 20 files changed, 45 insertions(+), 57 deletions(-) diff --git a/scripts/_util.py b/scripts/_util.py index f02e04c995..67e28b0620 100644 --- a/scripts/_util.py +++ b/scripts/_util.py @@ -9,6 +9,7 @@ """ from contextlib import contextmanager +from typing import Callable from byceps.application import create_app @@ -21,3 +22,9 @@ def app_context(): app = create_app() with app.app_context(): yield app + + +def call_with_app_context(func: Callable) -> None: + """Call a callable inside of an application context.""" + with app_context(): + func() diff --git a/scripts/add_archived_attendance.py b/scripts/add_archived_attendance.py index 2b575434da..0c323ca270 100755 --- a/scripts/add_archived_attendance.py +++ b/scripts/add_archived_attendance.py @@ -11,7 +11,7 @@ from byceps.services.ticketing import attendance_service from byceps.services.user import service as user_service -from _util import app_context +from _util import call_with_app_context from _validators import validate_party, validate_user_id @@ -31,5 +31,4 @@ def execute(user, party): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/announce_orga_birthdays.py b/scripts/announce_orga_birthdays.py index bc83ad6661..a417f62398 100755 --- a/scripts/announce_orga_birthdays.py +++ b/scripts/announce_orga_birthdays.py @@ -15,7 +15,7 @@ from byceps.services.webhooks import service as webhook_service from byceps.services.webhooks.transfer.models import OutgoingWebhook, WebhookID -from _util import app_context +from _util import call_with_app_context def validate_webhook_id(ctx, param, webhook_id: WebhookID) -> OutgoingWebhook: @@ -40,5 +40,4 @@ def execute(webhook: OutgoingWebhook): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/clean_up_after_deleted_users.py b/scripts/clean_up_after_deleted_users.py index 31eb231c40..377287843b 100755 --- a/scripts/clean_up_after_deleted_users.py +++ b/scripts/clean_up_after_deleted_users.py @@ -39,7 +39,7 @@ ) from byceps.typing import UserID -from _util import app_context +from _util import call_with_app_context @click.command() @@ -171,5 +171,4 @@ def _execute_delete_for_users_query(model, user_ids: Set[UserID]) -> int: if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/copy_snippets.py b/scripts/copy_snippets.py index 09f3d2da52..fd46d37504 100755 --- a/scripts/copy_snippets.py +++ b/scripts/copy_snippets.py @@ -11,7 +11,7 @@ from byceps.services.snippet import service as snippet_service from byceps.services.snippet.transfer.models import Scope, SnippetType -from _util import app_context +from _util import call_with_app_context from _validators import validate_site @@ -91,5 +91,4 @@ def scope_as_string(scope): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/create_database_tables.py b/scripts/create_database_tables.py index efd7d625d3..15b5794f89 100755 --- a/scripts/create_database_tables.py +++ b/scripts/create_database_tables.py @@ -12,7 +12,7 @@ from byceps.database import db -from _util import app_context +from _util import call_with_app_context @click.command() @@ -25,5 +25,4 @@ def execute(): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/create_initial_admin_user.py b/scripts/create_initial_admin_user.py index 6b40a8dc1e..a9f49788b6 100755 --- a/scripts/create_initial_admin_user.py +++ b/scripts/create_initial_admin_user.py @@ -12,7 +12,7 @@ from byceps.services.user import command_service as user_command_service from byceps.services.user import creation_service as user_creation_service -from _util import app_context +from _util import call_with_app_context @click.command() @@ -56,5 +56,4 @@ def _assign_roles_to_user(roles, user_id): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/create_seating_area.py b/scripts/create_seating_area.py index cf329c2642..0e94630c4d 100755 --- a/scripts/create_seating_area.py +++ b/scripts/create_seating_area.py @@ -10,7 +10,7 @@ from byceps.services.seating import area_service -from _util import app_context +from _util import call_with_app_context from _validators import validate_party @@ -24,5 +24,4 @@ def execute(party, slug, title): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/create_terms_version.py b/scripts/create_terms_version.py index e291407a1f..fe4a756d13 100755 --- a/scripts/create_terms_version.py +++ b/scripts/create_terms_version.py @@ -17,7 +17,7 @@ from byceps.services.terms.transfer.models import DocumentID from byceps.services.terms import version_service as terms_version_service -from _util import app_context +from _util import call_with_app_context from _validators import validate_brand @@ -71,5 +71,4 @@ def _create_consent_subject(brand, title, consent_subject_name_suffix): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/delete_old_user_login_events.py b/scripts/delete_old_user_login_events.py index 275c40e86c..37614dff87 100755 --- a/scripts/delete_old_user_login_events.py +++ b/scripts/delete_old_user_login_events.py @@ -12,7 +12,7 @@ from byceps.services.user import event_service as user_event_service -from _util import app_context +from _util import call_with_app_context @click.command() @@ -32,5 +32,4 @@ def execute(minimum_age_in_days): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/export_permissions_and_roles.py b/scripts/export_permissions_and_roles.py index 6ef29b5452..68c3825e6e 100755 --- a/scripts/export_permissions_and_roles.py +++ b/scripts/export_permissions_and_roles.py @@ -10,7 +10,7 @@ from byceps.services.authorization import impex_service -from _util import app_context +from _util import call_with_app_context @click.command() @@ -19,5 +19,4 @@ def execute(): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/export_ticket_user_email_addresses.py b/scripts/export_ticket_user_email_addresses.py index 011f2a31d2..f20ddf8126 100755 --- a/scripts/export_ticket_user_email_addresses.py +++ b/scripts/export_ticket_user_email_addresses.py @@ -14,7 +14,7 @@ from byceps.services.user import service as user_service from byceps.typing import PartyID -from _util import app_context +from _util import call_with_app_context from _validators import validate_party @@ -40,5 +40,4 @@ def _get_email_addresses(party_id: PartyID) -> Iterator[str]: if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/find_logins_for_ipaddress.py b/scripts/find_logins_for_ipaddress.py index 870212c02e..3929adb306 100755 --- a/scripts/find_logins_for_ipaddress.py +++ b/scripts/find_logins_for_ipaddress.py @@ -15,7 +15,7 @@ from byceps.services.user.transfer.models import User from byceps.typing import PartyID, UserID -from _util import app_context +from _util import call_with_app_context @click.command() @@ -44,5 +44,4 @@ def get_users_by_id(events: List[UserEvent]) -> Dict[UserID, User]: if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/generate_sql_to_delete_user.py b/scripts/generate_sql_to_delete_user.py index 47bc2d2d7f..54e7fb0f56 100755 --- a/scripts/generate_sql_to_delete_user.py +++ b/scripts/generate_sql_to_delete_user.py @@ -18,7 +18,7 @@ from byceps.services.user import service as user_service from byceps.typing import UserID -from _util import app_context +from _util import call_with_app_context from _validators import validate_user_id_format @@ -70,5 +70,4 @@ def generate_delete_statements_for_user(user_id: UserID) -> Iterator[str]: if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/grant_board_access.py b/scripts/grant_board_access.py index b7832b896f..00cb73cf73 100755 --- a/scripts/grant_board_access.py +++ b/scripts/grant_board_access.py @@ -11,7 +11,7 @@ from byceps.services.board import access_control_service, board_service from byceps.services.board.transfer.models import Board -from _util import app_context +from _util import call_with_app_context from _validators import validate_user_screen_name @@ -48,5 +48,4 @@ def execute(board, user): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/import_permissions_and_roles.py b/scripts/import_permissions_and_roles.py index 81cc03cc54..adacee302c 100755 --- a/scripts/import_permissions_and_roles.py +++ b/scripts/import_permissions_and_roles.py @@ -10,7 +10,7 @@ from byceps.services.authorization import impex_service -from _util import app_context +from _util import call_with_app_context @click.command() @@ -24,5 +24,4 @@ def execute(data_file): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/occupy_seat_group.py b/scripts/occupy_seat_group.py index 54102b3123..0e7c134f0b 100755 --- a/scripts/occupy_seat_group.py +++ b/scripts/occupy_seat_group.py @@ -11,7 +11,7 @@ from byceps.services.seating import seat_group_service from byceps.services.ticketing import ticket_bundle_service -from _util import app_context +from _util import call_with_app_context def get_seat_group(ctx, param, seat_group_id): @@ -44,5 +44,4 @@ def execute(seat_group, ticket_bundle): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/remove_user_sessions.py b/scripts/remove_user_sessions.py index 56f44758f5..b062cf41f1 100755 --- a/scripts/remove_user_sessions.py +++ b/scripts/remove_user_sessions.py @@ -16,7 +16,7 @@ from byceps.services.authentication.session import service as session_service -from _util import app_context +from _util import call_with_app_context @click.command() @@ -28,5 +28,4 @@ def execute(): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/search_snippets.py b/scripts/search_snippets.py index 3ebc5f0c4d..b632ffbc83 100755 --- a/scripts/search_snippets.py +++ b/scripts/search_snippets.py @@ -11,7 +11,7 @@ from byceps.services.snippet import service as snippet_service from byceps.services.snippet.transfer.models import Scope -from _util import app_context +from _util import call_with_app_context from _validators import validate_site @@ -72,5 +72,4 @@ def format_scope(scope): if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute) diff --git a/scripts/set_current_terms_version.py b/scripts/set_current_terms_version.py index 3d4cec9458..cbacb590b7 100755 --- a/scripts/set_current_terms_version.py +++ b/scripts/set_current_terms_version.py @@ -16,7 +16,7 @@ from byceps.services.terms.transfer.models import DocumentID, VersionID from byceps.services.terms import document_service, version_service -from _util import app_context +from _util import call_with_app_context def validate_document_id(ctx, param, value) -> DocumentID: @@ -96,5 +96,4 @@ def _get_version_ids_latest_first( if __name__ == '__main__': - with app_context(): - execute() + call_with_app_context(execute)