Skip to content
Snippets Groups Projects
Commit 7172f633 authored by Branson Craig Stephens's avatar Branson Craig Stephens
Browse files

Fixed scrub_mdc_events management command to remove associated GroupObjectPermissions.

parent bbadaea2
No related branches found
No related tags found
No related merge requests found
import os, shutil
from django.core.management.base import NoArgsCommand
from gracedb.models import Event, Search, Group
from gracedb.models import CoincInspiralEvent, MultiBurstEvent
from guardian.models import GroupObjectPermission
from django.contrib.contenttypes.models import ContentType
class Command(NoArgsCommand):
help = "I kill the MDC events."
......@@ -31,7 +34,35 @@ class Command(NoArgsCommand):
print 'Problem! Have not deleted datadir %s' % datadir
exit(1)
# We need to delete the relevant GroupObjectPermission objects as well.
# Any CoincInspiralEvent for this event? If so, delete their associated
# GroupObjectPermissions.
try:
coinc_event = CoincInspiralEvent.objects.get(id=e.id)
ctype = ContentType.objects.get(app_label='gracedb', model='coincinspiralevent')
gops = GroupObjectPermission.objects.filter(object_pk=e.id, content_type=ctype)
for g in gops:
g.delete()
except:
pass
# Any MultiBurstEvent for this event? If so, delete their associated
# GroupObjectPermissions.
try:
coinc_event = MultiBurstEvent.objects.get(id=e.id)
ctype = ContentType.objects.get(app_label='gracedb', model='multiburstevent')
gops = GroupObjectPermission.objects.filter(object_pk=e.id, content_type=ctype)
for g in gops:
g.delete()
except:
pass
# Finally delete the GroupObjectPermissions on the Event itself.
ctype = ContentType.objects.get(app_label='gracedb', model='event')
gops = GroupObjectPermission.objects.filter(object_pk=e.id, content_type=ctype)
for g in gops:
g.delete()
# Now, say goodbye to the database entry
# Does this delete annotations too? That's something to test.
e.delete()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment