Sketched Diag API
diff --git a/xos/api/utility/synchronizer.py b/xos/api/utility/synchronizer.py
new file mode 100644
index 0000000..84bae00
--- /dev/null
+++ b/xos/api/utility/synchronizer.py
@@ -0,0 +1,61 @@
+from rest_framework.decorators import api_view
+from rest_framework.response import Response
+from rest_framework.reverse import reverse
+from rest_framework import serializers
+from rest_framework import generics
+from rest_framework.exceptions import APIException
+from core.models import *
+from django.forms import widgets
+from core.xoslib.objects.sliceplus import SlicePlus
+from xos.apibase import XOSListCreateAPIView, XOSRetrieveUpdateDestroyAPIView, XOSPermissionDenied
+import json
+from core.models import Slice, SlicePrivilege, SliceRole, Instance, Site, Node, User
+from operator import itemgetter, attrgetter
+from api.xosapi_helpers import PlusObjectMixin, PlusModelSerializer
+
+IdField = serializers.ReadOnlyField
+
+
+class SynchronizerSerializer(PlusModelSerializer):
+ id = IdField()
+
+ name = serializers.CharField(required=False)
+
+ class Meta:
+ model = Diag
+ fields = ('id', 'name', 'backend_status', 'backend_register')
+
+
+class SynchronizerList(XOSListCreateAPIView):
+ queryset = Diag.objects.all()
+ serializer_class = SynchronizerSerializer
+
+ method_kind = "list"
+ method_name = "synchronizer"
+
+ def get_queryset(self):
+ name = self.request.query_params.get('name', False)
+
+ if (not self.request.user.is_authenticated()):
+ raise XOSPermissionDenied("You must be authenticated in order to use this API")
+ if(name):
+ return Diag.objects.filter(name=name)
+ return Diag.objects.all()
+
+
+class SynchronizerDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = Diag.objects.all()
+ serializer_class = SynchronizerSerializer
+
+ method_kind = "detail"
+ method_name = "synchronizer"
+
+ def get_queryset(self):
+ if (not self.request.user.is_authenticated()):
+ raise XOSPermissionDenied("You must be authenticated in order to use this API")
+
+ print "kwargs"
+ print self.request
+ print self.kwargs['pk']
+
+ return Diag.objects.filter(id=self.kwargs['pk'])