Skip to content

Commit efb86d8

Browse files
committed
feat(api): add script to update event source
1 parent d1ede06 commit efb86d8

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from django.core.management.base import BaseCommand
2+
3+
from api.models import Event
4+
5+
6+
class Command(BaseCommand):
7+
help = "Update event sources based on name prefix and auto-generated status"
8+
9+
def handle(self, *args, **options):
10+
queryset = Event.objects.filter(auto_generated=True, source=0)
11+
self.stdout.write(
12+
self.style.NOTICE(
13+
f"{queryset.count()} events will be assigned a source (GDACS or Manual Input) based on name prefix."
14+
)
15+
)
16+
to_update = []
17+
for event in queryset.iterator():
18+
if event.name.startswith("GDACS"):
19+
event.source = Event.EventSource.GDACS
20+
else:
21+
event.source = Event.EventSource.Manual_Input
22+
event.auto_generated = False
23+
to_update.append(event)
24+
25+
Event.objects.bulk_update(to_update, ["source", "auto_generated"])
26+
self.stdout.write(self.style.SUCCESS("Event sources have been updated successfully."))

0 commit comments

Comments
 (0)