Browse Source

Removed custom renderers

Jeremy Stretch 8 years ago
parent
commit
4a2206ecb1
2 changed files with 0 additions and 91 deletions
  1. 0 3
      netbox/dcim/api/views.py
  2. 0 88
      netbox/extras/api/renderers.py

+ 0 - 3
netbox/dcim/api/views.py

@@ -1,7 +1,6 @@
 from rest_framework.decorators import detail_route
 from rest_framework.permissions import IsAuthenticated
 from rest_framework.response import Response
-from rest_framework.settings import api_settings
 from rest_framework.viewsets import ModelViewSet, ViewSet
 
 from django.conf import settings
@@ -14,7 +13,6 @@ from dcim.models import (
     RackRole, Region, Site,
 )
 from dcim import filters
-from extras.api.renderers import BINDZoneRenderer, FlatJSONRenderer
 from extras.api.serializers import RenderedGraphSerializer
 from extras.api.views import CustomFieldModelViewSet
 from extras.models import Graph, GRAPH_TYPE_INTERFACE, GRAPH_TYPE_SITE
@@ -216,7 +214,6 @@ class DeviceViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
     serializer_class = serializers.DeviceSerializer
     write_serializer_class = serializers.WritableDeviceSerializer
     filter_class = filters.DeviceFilter
-    renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES + [BINDZoneRenderer, FlatJSONRenderer]
 
     @detail_route(url_path='lldp-neighbors')
     def lldp_neighbors(self, request, pk):

+ 0 - 88
netbox/extras/api/renderers.py

@@ -1,88 +0,0 @@
-import json
-from rest_framework import renderers
-
-
-# IP address family designations
-AF = {
-    4: 'A',
-    6: 'AAAA',
-}
-
-
-class FormlessBrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
-    """
-    An instance of the browseable API with forms suppressed. Useful for POST endpoints that don't create objects.
-    """
-    def show_form_for_method(self, *args, **kwargs):
-        return False
-
-
-class BINDZoneRenderer(renderers.BaseRenderer):
-    """
-    Generate a BIND zone file from a list of DNS records.
-        Required fields: `name`, `primary_ip`
-    """
-    media_type = 'text/plain'
-    format = 'bind-zone'
-
-    def render(self, data, media_type=None, renderer_context=None):
-        records = []
-        for record in data['results']:
-            if record.get('name') and record.get('primary_ip'):
-                try:
-                    records.append("{} IN {} {}".format(
-                        record['name'],
-                        AF[record['primary_ip']['family']],
-                        record['primary_ip']['address'].split('/')[0],
-                    ))
-                except KeyError:
-                    pass
-        return '\n'.join(records)
-
-
-class FlatJSONRenderer(renderers.BaseRenderer):
-    """
-    Flattens a nested JSON response.
-    """
-    format = 'json_flat'
-    media_type = 'application/json'
-
-    def render(self, data, media_type=None, renderer_context=None):
-
-        def flatten(entry):
-            for key, val in entry.items():
-                if isinstance(val, dict):
-                    for child_key, child_val in flatten(val):
-                        yield "{}_{}".format(key, child_key), child_val
-                else:
-                    yield key, val
-
-        return json.dumps([dict(flatten(i)) for i in data['results']])
-
-
-class FreeRADIUSClientsRenderer(renderers.BaseRenderer):
-    """
-    Generate a FreeRADIUS clients.conf file from a list of Secrets.
-    """
-    media_type = 'text/plain'
-    format = 'freeradius'
-
-    CLIENT_TEMPLATE = """client {name} {{
-    ipaddr = {ip}
-    secret = {secret}
-}}"""
-
-    def render(self, data, media_type=None, renderer_context=None):
-        clients = []
-        try:
-            for secret in data['results']:
-                if secret['device']['primary_ip'] and secret['plaintext']:
-                    client = self.CLIENT_TEMPLATE.format(
-                        name=secret['device']['name'],
-                        ip=secret['device']['primary_ip']['address'].split('/')[0],
-                        secret=secret['plaintext']
-                    )
-                    clients.append(client)
-        except:
-            pass
-        return '\n'.join(clients)