Przeglądaj źródła

Miscellaneous cleanup

Jeremy Stretch 6 lat temu
rodzic
commit
a3b9bdaff1

+ 0 - 1
netbox/circuits/constants.py

@@ -1,4 +1,3 @@
-
 # Circuit statuses
 CIRCUIT_STATUS_DEPROVISIONING = 0
 CIRCUIT_STATUS_ACTIVE = 1

+ 2 - 2
netbox/circuits/filters.py

@@ -5,8 +5,8 @@ from dcim.models import Region, Site
 from extras.filters import CustomFieldFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter
-from .constants import CIRCUIT_STATUS_CHOICES
-from .models import Provider, Circuit, CircuitTermination, CircuitType
+from .constants import *
+from .models import Circuit, CircuitTermination, CircuitType, Provider
 
 
 class ProviderFilter(CustomFieldFilterSet):

+ 2 - 3
netbox/circuits/forms.py

@@ -3,14 +3,13 @@ from taggit.forms import TagField
 
 from dcim.models import Region, Site
 from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm
-from tenancy.forms import TenancyForm
-from tenancy.forms import TenancyFilterForm
+from tenancy.forms import TenancyFilterForm, TenancyForm
 from tenancy.models import Tenant
 from utilities.forms import (
     APISelect, APISelectMultiple, add_blank_choice, BootstrapMixin, CommentField, CSVChoiceField,
     FilterChoiceField, SmallTextarea, SlugField, StaticSelect2, StaticSelect2Multiple
 )
-from .constants import CIRCUIT_STATUS_CHOICES
+from .constants import *
 from .models import Circuit, CircuitTermination, CircuitType, Provider
 
 

+ 1 - 1
netbox/circuits/models.py

@@ -9,7 +9,7 @@ from dcim.models import CableTermination
 from extras.models import CustomFieldModel, ObjectChange, TaggedItem
 from utilities.models import ChangeLoggedModel
 from utilities.utils import serialize_object
-from .constants import CIRCUIT_STATUS_ACTIVE, CIRCUIT_STATUS_CHOICES, TERM_SIDE_CHOICES
+from .constants import *
 
 
 class Provider(ChangeLoggedModel, CustomFieldModel):

+ 2 - 2
netbox/circuits/tables.py

@@ -1,5 +1,4 @@
 import django_tables2 as tables
-from django.utils.safestring import mark_safe
 from django_tables2.utils import Accessor
 
 from tenancy.tables import COL_TENANT
@@ -11,7 +10,8 @@ CIRCUITTYPE_ACTIONS = """
     <i class="fa fa-history"></i>
 </a>
 {% if perms.circuit.change_circuittype %}
-    <a href="{% url 'circuits:circuittype_edit' slug=record.slug %}?return_url={{ request.path }}" class="btn btn-xs btn-warning"><i class="glyphicon glyphicon-pencil" aria-hidden="true"></i></a>
+    <a href="{% url 'circuits:circuittype_edit' slug=record.slug %}?return_url={{ request.path }}"
+      class="btn btn-xs btn-warning"><i class="glyphicon glyphicon-pencil" aria-hidden="true"></i></a>
 {% endif %}
 """
 

+ 2 - 2
netbox/dcim/forms.py

@@ -17,8 +17,7 @@ from extras.forms import (
     AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm, LocalConfigContextFilterForm
 )
 from ipam.models import IPAddress, VLAN, VLANGroup
-from tenancy.forms import TenancyForm
-from tenancy.forms import TenancyFilterForm
+from tenancy.forms import TenancyFilterForm, TenancyForm
 from tenancy.models import Tenant, TenantGroup
 from utilities.forms import (
     APISelect, APISelectMultiple, add_blank_choice, ArrayFieldSelectMultiple, BootstrapMixin, BulkEditForm,
@@ -57,6 +56,7 @@ def get_device_by_name_or_pk(name):
 
 
 class InterfaceCommonForm:
+
     def clean(self):
 
         super().clean()

+ 1 - 1
netbox/dcim/models.py

@@ -9,7 +9,7 @@ from django.contrib.postgres.fields import ArrayField, JSONField
 from django.core.exceptions import ObjectDoesNotExist, ValidationError
 from django.core.validators import MaxValueValidator, MinValueValidator
 from django.db import models
-from django.db.models import Case, Count, Q, Sum, When, F, Subquery, OuterRef
+from django.db.models import Count, Q, Sum
 from django.urls import reverse
 from mptt.models import MPTTModel, TreeForeignKey
 from taggit.managers import TaggableManager

+ 1 - 1
netbox/extras/api/customfields.py

@@ -5,7 +5,7 @@ from django.db import transaction
 from rest_framework import serializers
 from rest_framework.exceptions import ValidationError
 
-from extras.constants import CF_TYPE_BOOLEAN, CF_TYPE_DATE, CF_TYPE_INTEGER, CF_TYPE_SELECT
+from extras.constants import *
 from extras.models import CustomField, CustomFieldChoice, CustomFieldValue
 from utilities.api import ValidatedModelSerializer
 

+ 0 - 1
netbox/extras/constants.py

@@ -1,4 +1,3 @@
-
 # Models which support custom fields
 CUSTOMFIELD_MODELS = [
     'circuits.circuit',

+ 1 - 1
netbox/extras/filters.py

@@ -4,7 +4,7 @@ from django.db.models import Q
 
 from dcim.models import DeviceRole, Platform, Region, Site
 from tenancy.models import Tenant, TenantGroup
-from .constants import CF_FILTER_DISABLED, CF_FILTER_EXACT, CF_TYPE_BOOLEAN, CF_TYPE_SELECT
+from .constants import *
 from .models import ConfigContext, CustomField, Graph, ExportTemplate, ObjectChange, Tag, TopologyMap
 
 

+ 1 - 5
netbox/extras/forms.py

@@ -8,16 +8,12 @@ from taggit.forms import TagField
 
 from dcim.models import DeviceRole, Platform, Region, Site
 from tenancy.models import Tenant, TenantGroup
-from utilities.constants import COLOR_CHOICES
 from utilities.forms import (
     add_blank_choice, APISelectMultiple, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, ColorSelect,
     CommentField, ContentTypeSelect, FilterChoiceField, LaxURLField, JSONField, SlugField, StaticSelect2,
     BOOLEAN_WITH_BLANK_CHOICES,
 )
-from .constants import (
-    CF_FILTER_DISABLED, CF_TYPE_BOOLEAN, CF_TYPE_DATE, CF_TYPE_INTEGER, CF_TYPE_SELECT, CF_TYPE_URL,
-    OBJECTCHANGE_ACTION_CHOICES,
-)
+from .constants import *
 from .models import ConfigContext, CustomField, CustomFieldValue, ImageAttachment, ObjectChange, Tag
 
 

+ 1 - 3
netbox/extras/middleware.py

@@ -9,9 +9,7 @@ from django.utils import timezone
 from django.utils.functional import curry
 from django_prometheus.models import model_deletes, model_inserts, model_updates
 
-from .constants import (
-    OBJECTCHANGE_ACTION_CREATE, OBJECTCHANGE_ACTION_DELETE, OBJECTCHANGE_ACTION_UPDATE,
-)
+from .constants import *
 from .models import ObjectChange
 from .signals import purge_changelog
 from .webhooks import enqueue_webhooks

+ 1 - 1
netbox/extras/models.py

@@ -1,6 +1,7 @@
 from collections import OrderedDict
 from datetime import date
 
+import graphviz
 from django.contrib.auth.models import User
 from django.contrib.contenttypes.fields import GenericForeignKey
 from django.contrib.contenttypes.models import ContentType
@@ -11,7 +12,6 @@ from django.db.models import F, Q
 from django.http import HttpResponse
 from django.template import Template, Context
 from django.urls import reverse
-import graphviz
 from jinja2 import Environment
 from taggit.models import TagBase, GenericTaggedItemBase
 

+ 1 - 1
netbox/extras/reports.py

@@ -6,7 +6,7 @@ from collections import OrderedDict
 from django.conf import settings
 from django.utils import timezone
 
-from .constants import LOG_DEFAULT, LOG_FAILURE, LOG_INFO, LOG_LEVEL_CODES, LOG_SUCCESS, LOG_WARNING
+from .constants import *
 from .models import ReportResult
 
 

+ 2 - 3
netbox/extras/scripts.py

@@ -1,12 +1,12 @@
-from collections import OrderedDict
 import inspect
 import json
 import os
 import pkgutil
 import time
 import traceback
-import yaml
+from collections import OrderedDict
 
+import yaml
 from django import forms
 from django.conf import settings
 from django.core.validators import RegexValidator
@@ -21,7 +21,6 @@ from .constants import LOG_DEFAULT, LOG_FAILURE, LOG_INFO, LOG_SUCCESS, LOG_WARN
 from .forms import ScriptForm
 from .signals import purge_changelog
 
-
 __all__ = [
     'BaseScript',
     'BooleanVar',

+ 1 - 2
netbox/extras/webhooks.py

@@ -3,10 +3,9 @@ import datetime
 from django.conf import settings
 from django.contrib.contenttypes.models import ContentType
 
-from extras.constants import OBJECTCHANGE_ACTION_CREATE, OBJECTCHANGE_ACTION_DELETE, OBJECTCHANGE_ACTION_UPDATE
 from extras.models import Webhook
 from utilities.api import get_serializer_for_model
-from .constants import WEBHOOK_MODELS
+from .constants import *
 
 
 def enqueue_webhooks(instance, user, request_id, action):

+ 1 - 1
netbox/extras/webhooks_worker.py

@@ -6,7 +6,7 @@ import requests
 from django_rq import job
 from rest_framework.utils.encoders import JSONEncoder
 
-from extras.constants import WEBHOOK_CT_JSON, WEBHOOK_CT_X_WWW_FORM_ENCODED, OBJECTCHANGE_ACTION_CHOICES
+from .constants import *
 
 
 @job('default')

+ 0 - 1
netbox/ipam/constants.py

@@ -1,4 +1,3 @@
-
 # IP address families
 AF_CHOICES = (
     (4, 'IPv4'),

+ 1 - 1
netbox/ipam/filters.py

@@ -9,7 +9,7 @@ from extras.filters import CustomFieldFilterSet
 from tenancy.filtersets import TenancyFilterSet
 from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter
 from virtualization.models import VirtualMachine
-from .constants import IPADDRESS_ROLE_CHOICES, IPADDRESS_STATUS_CHOICES, PREFIX_STATUS_CHOICES, VLAN_STATUS_CHOICES
+from .constants import *
 from .models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
 
 

+ 2 - 5
netbox/ipam/forms.py

@@ -5,8 +5,7 @@ from taggit.forms import TagField
 
 from dcim.models import Site, Rack, Device, Interface
 from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm
-from tenancy.forms import TenancyForm
-from tenancy.forms import TenancyFilterForm
+from tenancy.forms import TenancyFilterForm, TenancyForm
 from tenancy.models import Tenant
 from utilities.forms import (
     add_blank_choice, APISelect, APISelectMultiple, BootstrapMixin, BulkEditNullBooleanSelect, ChainedModelChoiceField,
@@ -14,9 +13,7 @@ from utilities.forms import (
     StaticSelect2, StaticSelect2Multiple, BOOLEAN_WITH_BLANK_CHOICES
 )
 from virtualization.models import VirtualMachine
-from .constants import (
-    IP_PROTOCOL_CHOICES, IPADDRESS_ROLE_CHOICES, IPADDRESS_STATUS_CHOICES, PREFIX_STATUS_CHOICES, VLAN_STATUS_CHOICES,
-)
+from .constants import *
 from .models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
 
 IP_FAMILY_CHOICES = [

+ 1 - 2
netbox/ipam/lookups.py

@@ -1,5 +1,4 @@
-from django.db.models import Lookup, Transform, IntegerField
-from django.db.models import lookups
+from django.db.models import IntegerField, Lookup, Transform, lookups
 
 
 class NetFieldDecoratorMixin(object):

+ 2 - 1
netbox/ipam/views.py

@@ -13,7 +13,7 @@ from utilities.views import (
 )
 from virtualization.models import VirtualMachine
 from . import filters, forms, tables
-from .constants import IPADDRESS_ROLE_ANYCAST, PREFIX_STATUS_ACTIVE, PREFIX_STATUS_DEPRECATED, PREFIX_STATUS_RESERVED
+from .constants import *
 from .models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
 
 
@@ -291,6 +291,7 @@ class RIRBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 
 class AggregateListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'ipam.view_aggregate'
+    # TODO: Replace raw SQL
     queryset = Aggregate.objects.prefetch_related('rir').extra(select={
         'child_count': 'SELECT COUNT(*) FROM ipam_prefix WHERE ipam_prefix.prefix <<= ipam_aggregate.prefix',
     })

+ 0 - 1
netbox/secrets/exceptions.py

@@ -1,4 +1,3 @@
-
 class InvalidKey(Exception):
     """
     Raised when a provided key is invalid.

+ 1 - 0
netbox/tenancy/filtersets.py

@@ -1,4 +1,5 @@
 import django_filters
+
 from .models import Tenant, TenantGroup
 
 

+ 0 - 1
netbox/users/admin.py

@@ -6,7 +6,6 @@ from django.contrib.auth.models import User
 from netbox.admin import admin_site
 from .models import Token
 
-
 # Unregister the built-in UserAdmin so that we can use our custom admin view below
 admin_site.unregister(User)
 

+ 1 - 2
netbox/utilities/custom_inspectors.py

@@ -6,10 +6,9 @@ from rest_framework.relations import ManyRelatedField
 from taggit_serializer.serializers import TagListSerializerField
 
 from dcim.api.serializers import InterfaceSerializer as DeviceInterfaceSerializer
-from virtualization.api.serializers import InterfaceSerializer as VirtualMachineInterfaceSerializer
 from extras.api.customfields import CustomFieldsSerializer
 from utilities.api import ChoiceField, SerializedPKRelatedField, WritableNestedSerializer
-
+from virtualization.api.serializers import InterfaceSerializer as VirtualMachineInterfaceSerializer
 
 # this might be ugly, but it limits drf_yasg-specific code to this file
 DeviceInterfaceSerializer.Meta.ref_name = 'DeviceInterface'

+ 0 - 2
netbox/utilities/forms.py

@@ -6,8 +6,6 @@ from io import StringIO
 from django import forms
 from django.conf import settings
 from django.contrib.postgres.forms.jsonb import JSONField as _JSONField, InvalidJSONInput
-from django.db.models import Count
-from django.urls import reverse_lazy
 from mptt.forms import TreeNodeMultipleChoiceField
 
 from .constants import *

+ 3 - 2
netbox/utilities/middleware.py

@@ -1,8 +1,9 @@
+from urllib import parse
+
 from django.conf import settings
 from django.db import ProgrammingError
 from django.http import Http404, HttpResponseRedirect
 from django.urls import reverse
-import urllib
 
 from .views import server_error
 
@@ -26,7 +27,7 @@ class LoginRequiredMiddleware(object):
                 return HttpResponseRedirect(
                     '{}?next={}'.format(
                         settings.LOGIN_URL,
-                        urllib.parse.quote(request.get_full_path_info())
+                        parse.quote(request.get_full_path_info())
                     )
                 )
         return self.get_response(request)

+ 1 - 2
netbox/utilities/utils.py

@@ -1,7 +1,6 @@
-from collections import OrderedDict
-
 import datetime
 import json
+from collections import OrderedDict
 
 from django.core.serializers import serialize
 from django.db.models import Count, OuterRef, Subquery

+ 1 - 1
netbox/virtualization/filters.py

@@ -9,7 +9,7 @@ from tenancy.filtersets import TenancyFilterSet
 from utilities.filters import (
     MultiValueMACAddressFilter, NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter,
 )
-from .constants import VM_STATUS_CHOICES
+from .constants import *
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 

+ 2 - 3
netbox/virtualization/forms.py

@@ -7,8 +7,7 @@ from dcim.forms import INTERFACE_MODE_HELP_TEXT
 from dcim.models import Device, DeviceRole, Interface, Platform, Rack, Region, Site
 from extras.forms import AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldForm, CustomFieldFilterForm
 from ipam.models import IPAddress, VLANGroup, VLAN
-from tenancy.forms import TenancyForm
-from tenancy.forms import TenancyFilterForm
+from tenancy.forms import TenancyFilterForm, TenancyForm
 from tenancy.models import Tenant
 from utilities.forms import (
     add_blank_choice, APISelect, APISelectMultiple, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect,
@@ -16,7 +15,7 @@ from utilities.forms import (
     ConfirmationForm, CSVChoiceField, ExpandableNameField, FilterChoiceField, JSONField, SlugField,
     SmallTextarea, StaticSelect2, StaticSelect2Multiple
 )
-from .constants import VM_STATUS_CHOICES
+from .constants import *
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 VIFACE_TYPE_CHOICES = (

+ 1 - 1
netbox/virtualization/models.py

@@ -8,7 +8,7 @@ from taggit.managers import TaggableManager
 from dcim.models import Device
 from extras.models import ConfigContextModel, CustomFieldModel, TaggedItem
 from utilities.models import ChangeLoggedModel
-from .constants import DEVICE_STATUS_ACTIVE, VM_STATUS_CHOICES, VM_STATUS_CLASSES
+from .constants import *
 
 
 #