From ec122f24bf314abae0ebd2f6691325062689e3cf Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Thu, 31 May 2018 12:14:00 -0500 Subject: [PATCH] Adding alerts app Instantiating a new alerts app and moving the alert functionality from events/alert.py to alerts/old_alert.py. This commit forms a starting point where the old alert functionality is still in place and we can rework the alert infrastructure to be more modularized, flexible, and adapted to superevents. --- config/settings/base.py | 6 ++++++ gracedb/alerts/__init__.py | 0 .../{events/alert.py => alerts/old_alert.py} | 20 ++++++++----------- gracedb/events/api/views.py | 2 +- gracedb/events/view_logic.py | 8 ++++---- gracedb/events/views.py | 2 +- gracedb/userprofile/views.py | 2 +- 7 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 gracedb/alerts/__init__.py rename gracedb/{events/alert.py => alerts/old_alert.py} (99%) diff --git a/config/settings/base.py b/config/settings/base.py index 8ab93ecde..730550ea1 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -294,6 +294,7 @@ INSTALLED_APPS = [ 'userprofile', 'ligoauth', 'search', + 'alerts', 'rest_framework', 'guardian', 'django_twilio', @@ -509,6 +510,11 @@ LOGGING = { 'propagate': True, 'level': LOG_LEVEL, }, + 'alerts': { + 'handlers': ['debug_file','error_file'], + 'propagate': True, + 'level': LOG_LEVEL, + }, 'userprofile': { 'handlers': ['debug_file','error_file'], 'propagate': True, diff --git a/gracedb/alerts/__init__.py b/gracedb/alerts/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/gracedb/events/alert.py b/gracedb/alerts/old_alert.py similarity index 99% rename from gracedb/events/alert.py rename to gracedb/alerts/old_alert.py index 0940d5df5..c08c7fbd1 100644 --- a/gracedb/events/alert.py +++ b/gracedb/alerts/old_alert.py @@ -1,28 +1,24 @@ import simplejson import os -import sys +import socket from subprocess import Popen, PIPE, STDOUT +import sys from django.core.mail import EmailMessage from django.conf import settings -from .permission_utils import is_external - -import json +from core.time_utils import gpsToUtc -import logging -log = logging.getLogger(__name__) +from events.models import Event +from events.permission_utils import is_external +from events.query import filter_for_labels from django_twilio.client import twilio_client -from core.time_utils import gpsToUtc - -from .query import filter_for_labels - -from .models import Event +import logging +log = logging.getLogger(__name__) -import socket # These imports can be fragile, so they should be brought in only # if use of the LVAlert overseer is really intended. diff --git a/gracedb/events/api/views.py b/gracedb/events/api/views.py index 167506d36..7df481422 100644 --- a/gracedb/events/api/views.py +++ b/gracedb/events/api/views.py @@ -12,7 +12,7 @@ from django.contrib.auth.models import User, Permission from django.contrib.auth.models import Group as AuthGroup from django.contrib.contenttypes.models import ContentType -from ..alert import issueAlertForUpdate +from alerts.old_alert import issueAlertForUpdate from ..buildVOEvent import buildVOEvent, VOEventBuilderException from ..view_utils import BadFARRange, check_query_far_range from ..query import parseQuery, ParseException diff --git a/gracedb/events/view_logic.py b/gracedb/events/view_logic.py index 44a1f3127..2c8e30b11 100644 --- a/gracedb/events/view_logic.py +++ b/gracedb/events/view_logic.py @@ -10,15 +10,15 @@ from .models import SimInspiralEvent from .models import LalInferenceBurstEvent from .models import EMBBEventLog, EMGroup from .models import EMObservation, EMFootprint -from .alert import issueAlert, issueAlertForLabel, issueAlertForUpdate, \ - issueXMPPAlert from .translator import handle_uploaded_data - -from core.vfile import VersionedFile from .view_utils import _saveUploadedFile from .view_utils import eventToDict, eventLogToDict, emObservationToDict from .permission_utils import assign_default_event_perms +from alerts.old_alert import issueAlert, issueAlertForLabel, issueAlertForUpdate, \ + issueXMPPAlert +from core.vfile import VersionedFile + from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import Permission from django.contrib.auth.models import Group as AuthGroup diff --git a/gracedb/events/views.py b/gracedb/events/views.py index 0fbdf0317..eac839728 100644 --- a/gracedb/events/views.py +++ b/gracedb/events/views.py @@ -30,7 +30,7 @@ from .view_utils import flexigridResponse, jqgridResponse from .view_utils import get_recent_events_string from .view_utils import eventLogToDict from .view_utils import signoffToDict -from .alert import issueAlertForUpdate, issueXMPPAlert +from alerts.old_alert import issueAlertForUpdate, issueXMPPAlert # Set up logging import logging diff --git a/gracedb/userprofile/views.py b/gracedb/userprofile/views.py index 5243a07da..d33553063 100644 --- a/gracedb/userprofile/views.py +++ b/gracedb/userprofile/views.py @@ -26,7 +26,7 @@ from events.permission_utils import internal_user_required, \ lvem_user_required, is_external from events.query import labelQuery from events.models import Label -from events.alert import get_twilio_from +from alerts.old_alert import get_twilio_from # Let's let everybody onto the index view. #@internal_user_required -- GitLab