From c69c5197c95281df837c47be879312a4c715cf32 Mon Sep 17 00:00:00 2001 From: rlali Date: Sun, 19 Mar 2023 01:28:55 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Extraction=20ML=20Adh=C3=A9rents=20des=20an?= =?UTF-8?q?n=C3=A9es=20N=20et=20N-years?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- management/commands/extract_ml_registrations.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/management/commands/extract_ml_registrations.py b/management/commands/extract_ml_registrations.py index 820dcaf..bb95646 100644 --- a/management/commands/extract_ml_registrations.py +++ b/management/commands/extract_ml_registrations.py @@ -12,7 +12,7 @@ from wei.models import WEIClub class Command(BaseCommand): help = "Get mailing list registrations from the last wei. " \ - "Usage: manage.py extract_ml_registrations -t {events,art,sport} -t {fr, en}. " \ + "Usage: manage.py extract_ml_registrations -t {events,art,sport} -t {fr, en} -y {0, 1, ...}. " \ "You can write this into a file with a pipe, then paste the document into your mail manager." def add_arguments(self, parser): @@ -21,6 +21,8 @@ class Command(BaseCommand): parser.add_argument('--lang', '-l', type=str, choices=['fr', 'en'], default='fr', help='Select the registred users of the ML of the given language. Useful only for the ' 'events mailing list.') + parser.add_argument('--years', '-y', type=int, default=0, + help='Select the cumulative registred users of a membership from years ago. 0 means the current users') def handle(self, *args, **options): # TODO: Improve the mailing list extraction system, and link it automatically with Mailman. @@ -30,10 +32,12 @@ class Command(BaseCommand): return if options["type"] == "members": + today_date = date.today() + selected_date = date(today_date.year - years, today.month, today.day) for membership in Membership.objects.filter( club__name="BDE", - date_start__lte=date.today(), - date_end__gte=date.today(), + date_start__lte=today_date, + date_end__gte=selected_date, ).all(): self.stdout.write(membership.user.email) return From 11bcc07bf40201c6b24743d10bc9576a7978d283 Mon Sep 17 00:00:00 2001 From: bleizi Date: Thu, 13 Jul 2023 20:06:57 +0200 Subject: [PATCH 2/2] fix date reading and a variable name --- management/commands/extract_ml_registrations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/management/commands/extract_ml_registrations.py b/management/commands/extract_ml_registrations.py index bb95646..bfcb77d 100644 --- a/management/commands/extract_ml_registrations.py +++ b/management/commands/extract_ml_registrations.py @@ -33,7 +33,7 @@ class Command(BaseCommand): if options["type"] == "members": today_date = date.today() - selected_date = date(today_date.year - years, today.month, today.day) + selected_date = date(today_date.year - options["years"], today_date.month, today_date.day) for membership in Membership.objects.filter( club__name="BDE", date_start__lte=today_date,