From 1180604b33ad62721611f000d2127f83ca57a8be Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sat, 28 Oct 2023 22:58:57 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20d'un=20script=20pour=20cr=C3=A9er=20de?= =?UTF-8?q?=20faux=20=C3=A9v=C3=A9nements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/requirements.txt | 1 + src/scripts/create_fake_events.py | 42 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/scripts/create_fake_events.py diff --git a/src/requirements.txt b/src/requirements.txt index 82214a1..3728db4 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -26,3 +26,4 @@ watchdog==3.0.0 django-colorfield==0.10.1 cffi==1.16.0 django-extensions==3.2.3 +djipsum==1.1.5 diff --git a/src/scripts/create_fake_events.py b/src/scripts/create_fake_events.py new file mode 100644 index 0000000..d34777a --- /dev/null +++ b/src/scripts/create_fake_events.py @@ -0,0 +1,42 @@ +from djipsum.faker import FakerModel +from agenda_culturel.models import Category, Event +import random +from datetime import datetime, timedelta + +def run(): + faker = FakerModel(app='agenda_culturel', model='Event') + + def random_hour(): + m = random.randint(0,59) + h = random.randint(0,23) + s = random.randint(0,59) + return f'{h}:{m}:{s}' + + for j in range(20): + sday = datetime.now() + timedelta(days=random.randint(0, 40)) + fields = { + 'title': faker.fake.text(max_nb_chars=100), + 'status': Event.STATUS.PUBLISHED, + 'category': faker.fake_relations( + type='fk', + field_name='category' + ), + 'start_day': sday.date(), + 'location': faker.fake.text(max_nb_chars=100), + 'description': ' '.join(faker.fake.paragraphs()), + 'image': faker.fake.url(), + 'image_alt': faker.fake.text(max_nb_chars=100), + 'reference_urls': [faker.fake.url() for i in range(0, random.randint(0, 5))], + 'tags': [faker.fake.text(max_nb_chars=32) for i in range(0, random.randint(0, 10))] + + } + if random.randint(0, 1) == 1: + fields["end_day"] = (sday + timedelta(days=random.randint(0, 6))).date() + if random.randint(0, 1) == 1: + fields["start_time"] = random_hour() + print(fields["start_time"]) + if random.randint(0, 1) == 1: + fields["end_time"] = random_hour() + print(fields["end_time"]) + faker.create(fields) +