From cf8b05d20a431fca634aff22f82777317c22c082 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Wed, 14 Apr 2021 15:18:24 +0200 Subject: [PATCH] Adapt verbosity of some scripts Signed-off-by: Yohann D'ANELLO --- management/commands/check_consistency.py | 19 +++++++------------ management/commands/compilejsmessages.py | 3 ++- .../commands/extract_ml_registrations.py | 4 ++++ management/commands/make_su.py | 4 ++++ .../commands/refresh_highlighted_buttons.py | 5 +++-- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/management/commands/check_consistency.py b/management/commands/check_consistency.py index 83fec96..5249723 100644 --- a/management/commands/check_consistency.py +++ b/management/commands/check_consistency.py @@ -23,10 +23,11 @@ class Command(BaseCommand): if options["sum_all"]: s = Note.objects.aggregate(Sum("balance"))["balance__sum"] if s: - err_log += self.style.NOTICE("LA SOMME DES NOTES NE VAUT PAS ZÉRO : " + pretty_money(s)) + "\n" + self.stderr.write(self.style.NOTICE("LA SOMME DES NOTES NE VAUT PAS ZÉRO : " + pretty_money(s))) error = True else: - self.stdout.write(self.style.SUCCESS("La somme des notes vaut bien zéro.")) + if options["verbosity"] > 0: + self.stdout.write(self.style.SUCCESS("La somme des notes vaut bien zéro.")) notes = Note.objects.none() if options["check_all"]: @@ -42,19 +43,13 @@ class Command(BaseCommand): .annotate(total=F("quantity") * F("amount")).aggregate(Sum("total"))["total__sum"] or 0 calculated_balance = incoming - outcoming if calculated_balance != balance: - err_log += self.style.NOTICE("LA SOMME DES TRANSACTIONS DE LA NOTE {} NE CORRESPOND PAS " - "AVEC LE MONTANT RÉEL".format(str(note))) + "\n" - err_log += self.style.NOTICE("Attendu : {}, calculé : {}" - .format(pretty_money(balance), pretty_money(calculated_balance))) + "\n" + self.stderr.write(self.style.NOTICE(f"LA SOMME DES TRANSACTIONS DE LA NOTE {note} NE CORRESPOND PAS " + "AVEC LE MONTANT RÉEL")) + self.stderr.write(self.style.NOTICE(f"Attendu : {pretty_money(balance)}, " + f"calculé : {pretty_money(calculated_balance)}")) if options["fix"]: note.balance = calculated_balance note.save() error = True - if error: - self.stderr.write(err_log) - if options["mail"]: - send_mail("[Note Kfet] La base de données n'est pas consistante", err_log, - "NoteKfet2020 ", ["respo-info.bde@lists.crans.org"]) - exit(1 if error else 0) diff --git a/management/commands/compilejsmessages.py b/management/commands/compilejsmessages.py index f36328e..c66686a 100644 --- a/management/commands/compilejsmessages.py +++ b/management/commands/compilejsmessages.py @@ -19,7 +19,8 @@ class Command(BaseCommand): for code, _ in settings.LANGUAGES: if code == settings.LANGUAGE_CODE: continue - self.stdout.write(f"Generate {code} javascript localization file") + if kwargs["verbosity"] > 0: + self.stdout.write(f"Generate {code} javascript localization file") with translation.override(code): resp = JavaScriptCatalog().get(None, packages="member+note") if not os.path.isdir(kwargs["out"] + "/js/jsi18n"): diff --git a/management/commands/extract_ml_registrations.py b/management/commands/extract_ml_registrations.py index 1e8f472..afcd7cc 100644 --- a/management/commands/extract_ml_registrations.py +++ b/management/commands/extract_ml_registrations.py @@ -25,6 +25,10 @@ class Command(BaseCommand): def handle(self, *args, **options): # TODO: Improve the mailing list extraction system, and link it automatically with Mailman. + if options['verbosity'] == 0: + # This is useless, but this what the user asked. + return + if options["type"] == "members": for membership in Membership.objects.filter( club__name="BDE", diff --git a/management/commands/make_su.py b/management/commands/make_su.py index cab3c6f..692d43a 100644 --- a/management/commands/make_su.py +++ b/management/commands/make_su.py @@ -16,7 +16,11 @@ class Command(BaseCommand): user = User.objects.get(username=uname) user.is_active = True if kwargs['STAFF']: + if kwargs['verbosity'] > 0: + self.stdout.write(f"Add {user} to staff users...") user.is_staff = True if kwargs['SUPER']: + if kwargs['verbosity'] > 0: + self.stdout.write(f"Add {user} to superusers...") user.is_superuser = True user.save() diff --git a/management/commands/refresh_highlighted_buttons.py b/management/commands/refresh_highlighted_buttons.py index bcf53c4..fa73cb6 100644 --- a/management/commands/refresh_highlighted_buttons.py +++ b/management/commands/refresh_highlighted_buttons.py @@ -23,7 +23,8 @@ class Command(BaseCommand): for d in queryset.all(): button_id = d["template"] button = TransactionTemplate.objects.get(pk=button_id) - self.stdout.write(self.style.WARNING("Highlight button {name} ({count:d} transactions)..." - .format(name=button.name, count=d["transaction_count"]))) + if kwargs['verbosity'] > 0: + self.stdout.write(self.style.WARNING("Highlight button {name} ({count:d} transactions)..." + .format(name=button.name, count=d["transaction_count"]))) button.highlighted = True button.save()