From e737cf70bb2767ef62bba67debdc6aa08b4958ad Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Fri, 26 Jan 2018 18:09:13 -0600 Subject: [PATCH] moving api to a submodule of events app --- config/urls.py | 8 ++- gracedb/events/api/__init__.py | 0 gracedb/events/{ => api}/throttles.py | 0 gracedb/events/{urls_rest.py => api/urls.py} | 59 ++++++-------------- gracedb/events/{api.py => api/views.py} | 48 +++++++--------- gracedb/events/urls.py | 2 +- 6 files changed, 45 insertions(+), 72 deletions(-) create mode 100644 gracedb/events/api/__init__.py rename gracedb/events/{ => api}/throttles.py (100%) rename gracedb/events/{urls_rest.py => api/urls.py} (63%) rename gracedb/events/{api.py => api/views.py} (98%) diff --git a/config/urls.py b/config/urls.py index d24b8f99e..2a879ecb3 100644 --- a/config/urls.py +++ b/config/urls.py @@ -26,9 +26,11 @@ urlpatterns = [ url(r'^SPPrivacy', events.views.spprivacy, name="spprivacy"), url(r'^DiscoveryService', events.views.discovery, name="discovery"), url(r'^events/', include('events.urls')), - url(r'^api/', include('events.urls_rest', app_name="api", namespace="x509")), - url(r'^apiweb/', include('events.urls_rest', app_name="api", namespace="shib")), - url(r'^apibasic/', include('events.urls_rest', app_name="api", namespace="basic")), + url(r'^apiweb/', include('events.api.urls', app_name="api", + namespace="shib")), + url(r'^api/', include('events.api.urls', app_name="api", namespace="x509")), + url(r'^apibasic/', include('events.api.urls', app_name="api", + namespace="basic")), url(r'^options/', include('userprofile.urls')), url(r'^feeds/(?P<url>.*)/$', EventFeed()), url(r'^feeds/$', feedview, name="feeds"), diff --git a/gracedb/events/api/__init__.py b/gracedb/events/api/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/gracedb/events/throttles.py b/gracedb/events/api/throttles.py similarity index 100% rename from gracedb/events/throttles.py rename to gracedb/events/api/throttles.py diff --git a/gracedb/events/urls_rest.py b/gracedb/events/api/urls.py similarity index 63% rename from gracedb/events/urls_rest.py rename to gracedb/events/api/urls.py index 4c9f76766..016817ccf 100644 --- a/gracedb/events/urls_rest.py +++ b/gracedb/events/api/urls.py @@ -2,55 +2,35 @@ # Changed for Django 1.11 from django.conf.urls import url -# rest_framework -from .api import GracedbRoot -from .api import EventList, EventDetail -from .api import EventLogList, EventLogDetail -from .api import EMBBEventLogList, EMBBEventLogDetail -from .api import EMObservationList, EMObservationDetail -#from .api import EMFootprintList, EMFootprintDetail -from .api import TagList -# from .api import TagDetail -from .api import EventTagList, EventTagDetail -from .api import EventLogTagList, EventLogTagDetail -from .api import Files, FileMeta -from .api import EventNeighbors, EventLabel -from .api import PerformanceInfo -from .api import EventPermissionList -from .api import GroupEventPermissionList -from .api import GroupEventPermissionDetail -from .api import VOEventList, VOEventDetail -from .api import OperatorSignoffList -from .api import download as download_view +from .views import * urlpatterns = [ url(r'^$', GracedbRoot.as_view(), name="api-root"), # Event Resources # events/[{graceid}[/{version}]] - url(r'events/$', - EventList.as_view(), name='event-list'), - url(r'events/(?P<graceid>[GEHMT]\d+)$', - EventDetail.as_view(), name='event-detail'), + url(r'events/$', EventList.as_view(), name='event-list'), + url(r'events/(?P<graceid>[GEHMT]\d+)$', EventDetail.as_view(), + name='event-detail'), # Event Log Resources # events/{graceid}/logs/[{logid}] - url(r'events/(?P<graceid>[GEHMT]\d+)/log/$', - EventLogList.as_view(), name='eventlog-list'), + url(r'events/(?P<graceid>[GEHMT]\d+)/log/$', EventLogList.as_view(), + name='eventlog-list'), url(r'events/(?P<graceid>[GEHMT]\d+)/log/(?P<n>\d+)$', EventLogDetail.as_view(), name='eventlog-detail'), # VOEvent Resources # events/{graceid}/voevent/[{serial_number}] - url(r'events/(?P<graceid>[GEHMT]\d+)/voevent/$', - VOEventList.as_view(), name='voevent-list'), + url(r'events/(?P<graceid>[GEHMT]\d+)/voevent/$', VOEventList.as_view(), + name='voevent-list'), url(r'events/(?P<graceid>[GEHMT]\d+)/voevent/(?P<n>\d+)$', VOEventDetail.as_view(), name='voevent-detail'), # EMBB Resources # events/{graceid}/logs/[{logid}] - url(r'events/(?P<graceid>[GEHMT]\d+)/embb/$', - EMBBEventLogList.as_view(), name='embbeventlog-list'), + url(r'events/(?P<graceid>[GEHMT]\d+)/embb/$', EMBBEventLogList.as_view(), + name='embbeventlog-list'), url(r'events/(?P<graceid>[GEHMT]\d+)/embb/(?P<n>\d+)$', EMBBEventLogDetail.as_view(), name='embbeventlog-detail'), url(r'events/(?P<graceid>[GEHMT]\d+)/emobservation/$', @@ -65,10 +45,9 @@ urlpatterns = [ # Tag Resources url(r'^tag/$', TagList.as_view(), name='tag-list'), # XXX unclear what the tag detail resource should be. - #url(r'^tag/(?P<tagname>.+)$', - # TagDetail.as_view(), name='tag-detail'), - url(r'events/(?P<graceid>[GEHMT]\d+)/tag/$', - EventTagList.as_view(), name='eventtag-list'), + #url(r'^tag/(?P<tagname>.+)$', TagDetail.as_view(), name='tag-detail'), + url(r'events/(?P<graceid>[GEHMT]\d+)/tag/$', EventTagList.as_view(), + name='eventtag-list'), url(r'events/(?P<graceid>[GEHMT]\d+)/tag/(?P<tagname>.+)$', EventTagDetail.as_view(), name='eventtag-detail'), url(r'events/(?P<graceid>[GEHMT]\d+)/log/(?P<n>\d+)/tag/$', @@ -99,19 +78,17 @@ urlpatterns = [ # Event Neighbors # events/{graceid}/neighbors/[?delta=(N|(N,N))] - url(r'^events/(?P<graceid>\w[\d]+)/neighbors/$', - EventNeighbors.as_view(), name="neighbors"), + url(r'^events/(?P<graceid>\w[\d]+)/neighbors/$', EventNeighbors.as_view(), + name="neighbors"), # Operator Signoff Resources url(r'events/(?P<graceid>[GEHMT]\d+)/signoff/$', OperatorSignoffList.as_view(), name='signoff-list'), - # Performance stats - url(r'^performance/$', - PerformanceInfo.as_view(), name='performance-info'), + url(r'^performance/$', PerformanceInfo.as_view(), name='performance-info'), # Legacy - #url(r'^events/(?P<graceid>\w[\d]+)/files/(?P<filename>.+)?$', 'download', name="files"), - url(r'^event/(?P<graceid>\w[\d]+)/files/(?P<filename>.+)?$', download_view, name="download2"), + url(r'^event/(?P<graceid>\w[\d]+)/files/(?P<filename>.+)?$', download, + name="download2"), ] diff --git a/gracedb/events/api.py b/gracedb/events/api/views.py similarity index 98% rename from gracedb/events/api.py rename to gracedb/events/api/views.py index ecf5aed5c..376db95e0 100644 --- a/gracedb/events/api.py +++ b/gracedb/events/api/views.py @@ -7,49 +7,44 @@ from django.conf import settings from django.utils.functional import wraps from django.db import IntegrityError -import json - 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 .models import Event, Group, Search, Pipeline, EventLog, Tag, Label -from .models import EMGroup, EMBBEventLog, EMSPECTRUM -#from .models import EMObservation, EMFootprint -from .models import VOEvent -from .view_logic import create_label, get_performance_info, delete_label -from .view_logic import _createEventFromForm -from .view_logic import create_eel -from .view_logic import create_emobservation -from .view_utils import eventToDict, eventLogToDict, labelToDict -from .view_utils import embbEventLogToDict, voeventToDict -from .view_utils import emObservationToDict, skymapViewerEMObservationToDict -from .view_utils import signoffToDict -from .view_utils import reverse - -from .translator import handle_uploaded_data -from .forms import CreateEventForm -from .permission_utils import user_has_perm, filter_events_for_user, is_external -from .permission_utils import check_external_file_access -from guardian.models import GroupObjectPermission + +from ..alert import issueAlertForUpdate +from ..buildVOEvent import buildVOEvent, VOEventBuilderException +from ..view_utils import BadFARRange, check_query_far_range +from ..query import parseQuery, ParseException +from ..models import Event, Group, Search, Pipeline, EventLog, Tag, Label, \ + EMGroup, EMBBEventLog, EMSPECTRUM, VOEvent +from ..view_logic import create_label, get_performance_info, delete_label, \ + _createEventFromForm, create_eel, create_emobservation +from ..view_utils import eventToDict, eventLogToDict, labelToDict, reverse, \ + embbEventLogToDict, voeventToDict, emObservationToDict, signoffToDict, \ + skymapViewerEMObservationToDict +from ..forms import SimpleSearchForm +from ..translator import handle_uploaded_data +from ..forms import CreateEventForm +from ..permission_utils import user_has_perm, filter_events_for_user, \ + is_external, check_external_file_access from .throttles import EventCreationThrottle, AnnotationThrottle -from .alert import issueAlertForUpdate -from .buildVOEvent import buildVOEvent, VOEventBuilderException +from core.vfile import VersionedFile + +from guardian.models import GroupObjectPermission import os import urllib import shutil import exceptions +import json -from core.vfile import VersionedFile import logging; logger = logging.getLogger(__name__) # # for checking queries in the evnet that the user is external # -from .view_utils import BadFARRange, check_query_far_range -from .query import parseQuery, ParseException ################################################################## @@ -73,7 +68,6 @@ from rest_framework.views import APIView MAX_FAILED_OPEN_ATTEMPTS = 5 -from .forms import SimpleSearchForm ################################################################## diff --git a/gracedb/events/urls.py b/gracedb/events/urls.py index 9cc42644a..4825c55f4 100644 --- a/gracedb/events/urls.py +++ b/gracedb/events/urls.py @@ -6,7 +6,7 @@ from django.conf.urls import url from . import views #import django.views.generic.list_detail -from .api import download +from .api.views import download urlpatterns = [ url(r'^$', views.index, name="home-events"), -- GitLab