mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-14 05:00:13 +02:00
- Adopt Ruff `I` (isort) rules for consistent import sorting - Add two `# isort: split` boundaries to keep required imports pinned in `__init__.py` modules
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from dcim.constants import LOCATION_SCOPE_TYPES
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from rest_framework import serializers
|
||||
|
||||
from dcim.constants import LOCATION_SCOPE_TYPES
|
||||
from netbox.api.fields import ChoiceField, ContentTypeField, RelatedObjectCountField
|
||||
from netbox.api.gfk_fields import GFKSerializerField
|
||||
from netbox.api.serializers import OrganizationalModelSerializer, PrimaryModelSerializer
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
from drf_spectacular.utils import extend_schema_field
|
||||
from rest_framework import serializers
|
||||
|
||||
from dcim.api.serializers_.devices import DeviceSerializer
|
||||
from dcim.api.serializers_.device_components import MACAddressSerializer
|
||||
from dcim.api.serializers_.devices import DeviceSerializer
|
||||
from dcim.api.serializers_.platforms import PlatformSerializer
|
||||
from dcim.api.serializers_.roles import DeviceRoleSerializer
|
||||
from dcim.api.serializers_.sites import SiteSerializer
|
||||
@@ -19,6 +19,7 @@ from users.api.serializers_.mixins import OwnerMixin
|
||||
from virtualization.choices import *
|
||||
from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
||||
from vpn.api.serializers_.l2vpn import L2VPNTerminationSerializer
|
||||
|
||||
from .clusters import ClusterSerializer
|
||||
from .nested import NestedVMInterfaceSerializer
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from netbox.api.routers import NetBoxRouter
|
||||
from . import views
|
||||
|
||||
from . import views
|
||||
|
||||
router = NetBoxRouter()
|
||||
router.APIRootView = views.VirtualizationRootView
|
||||
|
||||
@@ -6,6 +6,7 @@ from netbox.api.viewsets import NetBoxModelViewSet
|
||||
from utilities.query_functions import CollateAsChar
|
||||
from virtualization import filtersets
|
||||
from virtualization.models import *
|
||||
|
||||
from . import serializers
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ class VirtualizationConfig(AppConfig):
|
||||
def ready(self):
|
||||
from netbox.models.features import register_models
|
||||
from utilities.counters import connect_counters
|
||||
|
||||
from . import search, signals # noqa: F401
|
||||
from .models import VirtualMachine
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@ from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from utilities.choices import ChoiceSet
|
||||
|
||||
|
||||
#
|
||||
# Clusters
|
||||
#
|
||||
|
||||
|
||||
class ClusterStatusChoices(ChoiceSet):
|
||||
key = 'Cluster.status'
|
||||
|
||||
|
||||
@@ -6,16 +6,16 @@ from netaddr.core import AddrFormatError
|
||||
|
||||
from dcim.base_filtersets import ScopedFilterSet
|
||||
from dcim.filtersets import CommonInterfaceFilterSet
|
||||
from dcim.models import Device, DeviceRole, Platform, Region, Site, SiteGroup
|
||||
from dcim.models import MACAddress
|
||||
from dcim.models import Device, DeviceRole, MACAddress, Platform, Region, Site, SiteGroup
|
||||
from extras.filtersets import LocalConfigContextFilterSet
|
||||
from extras.models import ConfigTemplate
|
||||
from ipam.filtersets import PrimaryIPFilterSet
|
||||
from netbox.filtersets import NetBoxModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet
|
||||
from tenancy.filtersets import TenancyFilterSet, ContactModelFilterSet
|
||||
from tenancy.filtersets import ContactModelFilterSet, TenancyFilterSet
|
||||
from users.filterset_mixins import OwnerFilterMixin
|
||||
from utilities.filters import MultiValueCharFilter, MultiValueMACAddressFilter, TreeNodeMultipleChoiceFilter
|
||||
from utilities.filtersets import register_filterset
|
||||
|
||||
from .choices import *
|
||||
from .models import *
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from .model_forms import *
|
||||
from .filtersets import *
|
||||
from .object_create import *
|
||||
from .bulk_create import *
|
||||
from .bulk_edit import *
|
||||
from .bulk_import import *
|
||||
from .filtersets import *
|
||||
from .model_forms import *
|
||||
from .object_create import *
|
||||
|
||||
@@ -3,7 +3,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from utilities.forms import form_from_model
|
||||
from utilities.forms.fields import ExpandableNameField
|
||||
from virtualization.models import VirtualDisk, VMInterface, VirtualMachine
|
||||
from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
||||
|
||||
__all__ = (
|
||||
'VirtualDiskBulkCreateForm',
|
||||
|
||||
@@ -6,7 +6,7 @@ from dcim.constants import INTERFACE_MTU_MAX, INTERFACE_MTU_MIN
|
||||
from dcim.forms.mixins import ScopedBulkEditForm
|
||||
from dcim.models import Device, DeviceRole, Platform, Site
|
||||
from extras.models import ConfigTemplate
|
||||
from ipam.models import VLAN, VLANGroup, VLANTranslationPolicy, VRF
|
||||
from ipam.models import VLAN, VRF, VLANGroup, VLANTranslationPolicy
|
||||
from netbox.forms import NetBoxModelBulkEditForm, OrganizationalModelBulkEditForm, PrimaryModelBulkEditForm
|
||||
from netbox.forms.mixins import OwnerMixin
|
||||
from tenancy.models import Tenant
|
||||
|
||||
@@ -7,8 +7,7 @@ from dcim.models import Device, DeviceRole, Platform, Site
|
||||
from extras.models import ConfigTemplate
|
||||
from ipam.choices import VLANQinQRoleChoices
|
||||
from ipam.models import VLAN, VRF, VLANGroup
|
||||
from netbox.forms import NetBoxModelImportForm
|
||||
from netbox.forms import OrganizationalModelImportForm, OwnerCSVMixin, PrimaryModelImportForm
|
||||
from netbox.forms import NetBoxModelImportForm, OrganizationalModelImportForm, OwnerCSVMixin, PrimaryModelImportForm
|
||||
from tenancy.models import Tenant
|
||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, CSVModelMultipleChoiceField
|
||||
from virtualization.choices import *
|
||||
|
||||
@@ -9,7 +9,7 @@ from dcim.forms.mixins import ScopedForm
|
||||
from dcim.models import Device, DeviceRole, MACAddress, Platform, Rack, Region, Site, SiteGroup
|
||||
from extras.models import ConfigTemplate
|
||||
from ipam.choices import VLANQinQRoleChoices
|
||||
from ipam.models import IPAddress, VLAN, VLANGroup, VLANTranslationPolicy, VRF
|
||||
from ipam.models import VLAN, VRF, IPAddress, VLANGroup, VLANTranslationPolicy
|
||||
from netbox.forms import NetBoxModelForm, OrganizationalModelForm, PrimaryModelForm
|
||||
from netbox.forms.mixins import OwnerMixin
|
||||
from tenancy.forms import TenancyForm
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from utilities.forms.fields import ExpandableNameField
|
||||
|
||||
from .model_forms import VirtualDiskForm, VMInterfaceForm
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Annotated, TYPE_CHECKING
|
||||
from typing import TYPE_CHECKING, Annotated
|
||||
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Annotated, TYPE_CHECKING
|
||||
from typing import TYPE_CHECKING, Annotated
|
||||
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
@@ -14,8 +14,6 @@ from virtualization import models
|
||||
from virtualization.graphql.filter_mixins import VMComponentFilterMixin
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .enums import *
|
||||
from netbox.graphql.filter_lookups import FloatLookup, IntegerLookup
|
||||
from dcim.graphql.filters import DeviceFilter, DeviceRoleFilter, MACAddressFilter, PlatformFilter, SiteFilter
|
||||
from ipam.graphql.filters import (
|
||||
FHRPGroupAssignmentFilter,
|
||||
@@ -24,8 +22,11 @@ if TYPE_CHECKING:
|
||||
VLANGroupFilter,
|
||||
VRFFilter,
|
||||
)
|
||||
from netbox.graphql.filter_lookups import FloatLookup, IntegerLookup
|
||||
from vpn.graphql.filters import L2VPNFilter, TunnelTerminationFilter
|
||||
|
||||
from .enums import *
|
||||
|
||||
__all__ = (
|
||||
'ClusterFilter',
|
||||
'ClusterGroupFilter',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Annotated, List, TYPE_CHECKING, Union
|
||||
from typing import TYPE_CHECKING, Annotated, List, Union
|
||||
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
@@ -6,9 +6,10 @@ import strawberry_django
|
||||
from extras.graphql.mixins import ConfigContextMixin, ContactsMixin
|
||||
from ipam.graphql.mixins import IPAddressesMixin, VLANGroupsMixin
|
||||
from netbox.graphql.scalars import BigInt
|
||||
from netbox.graphql.types import OrganizationalObjectType, PrimaryObjectType, NetBoxObjectType
|
||||
from netbox.graphql.types import NetBoxObjectType, OrganizationalObjectType, PrimaryObjectType
|
||||
from users.graphql.mixins import OwnerMixin
|
||||
from virtualization import models
|
||||
|
||||
from .filters import *
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import dcim.fields
|
||||
from utilities.json import CustomFieldJSONEncoder
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import taggit.managers
|
||||
from django.db import migrations, models
|
||||
|
||||
import dcim.fields
|
||||
import utilities.fields
|
||||
import utilities.ordering
|
||||
import utilities.query_functions
|
||||
from utilities.json import CustomFieldJSONEncoder
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Generated by Django 4.2.6 on 2023-10-20 11:48
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import taggit.managers
|
||||
from django.db import migrations, models
|
||||
|
||||
import utilities.fields
|
||||
import utilities.json
|
||||
import utilities.ordering
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from django.db import migrations
|
||||
from django.db.models import F, Sum
|
||||
|
||||
from netbox.settings import DISK_BASE_UNIT
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from netbox.search import SearchIndex, register_search
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ from netbox.tables import NetBoxTable, PrimaryModelTable, columns
|
||||
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
|
||||
from utilities.templatetags.helpers import humanize_disk_megabytes
|
||||
from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
||||
|
||||
from .template_code import *
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -11,11 +11,15 @@ from dcim.models import Site
|
||||
from extras.choices import CustomFieldTypeChoices
|
||||
from extras.models import ConfigTemplate, CustomField
|
||||
from ipam.choices import VLANQinQRoleChoices
|
||||
from ipam.models import Prefix, VLAN, VRF
|
||||
from ipam.models import VLAN, VRF, Prefix
|
||||
from users.constants import TOKEN_PREFIX
|
||||
from users.models import Token
|
||||
from utilities.testing import (
|
||||
APITestCase, APIViewTestCases, create_test_device, create_test_virtualmachine, disable_logging,
|
||||
APITestCase,
|
||||
APIViewTestCases,
|
||||
create_test_device,
|
||||
create_test_virtualmachine,
|
||||
disable_logging,
|
||||
)
|
||||
from virtualization.choices import *
|
||||
from virtualization.models import *
|
||||
|
||||
@@ -3,7 +3,7 @@ from django.test import TestCase
|
||||
from dcim.choices import InterfaceModeChoices
|
||||
from dcim.models import Device, DeviceRole, MACAddress, Platform, Region, Site, SiteGroup
|
||||
from ipam.choices import VLANQinQRoleChoices
|
||||
from ipam.models import IPAddress, VLAN, VLANTranslationPolicy, VRF
|
||||
from ipam.models import VLAN, VRF, IPAddress, VLANTranslationPolicy
|
||||
from tenancy.models import Tenant, TenantGroup
|
||||
from utilities.testing import ChangeLoggedFilterSetTests, create_test_device
|
||||
from virtualization.choices import *
|
||||
|
||||
@@ -2,8 +2,8 @@ from django.core.exceptions import ValidationError
|
||||
from django.test import TestCase
|
||||
|
||||
from dcim.models import Site
|
||||
from virtualization.models import *
|
||||
from tenancy.models import Tenant
|
||||
from virtualization.models import *
|
||||
|
||||
|
||||
class VirtualMachineTestCase(TestCase):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from django.urls import include, path
|
||||
|
||||
from utilities.urls import get_model_urls
|
||||
|
||||
from . import views
|
||||
|
||||
app_name = 'virtualization'
|
||||
|
||||
@@ -15,7 +15,14 @@ from extras.views import ObjectConfigContextView, ObjectRenderConfigView
|
||||
from ipam.models import IPAddress, VLANGroup
|
||||
from ipam.tables import InterfaceVLANTable, VLANTranslationRuleTable
|
||||
from netbox.object_actions import (
|
||||
AddObject, BulkDelete, BulkEdit, BulkExport, BulkImport, BulkRename, DeleteObject, EditObject,
|
||||
AddObject,
|
||||
BulkDelete,
|
||||
BulkEdit,
|
||||
BulkExport,
|
||||
BulkImport,
|
||||
BulkRename,
|
||||
DeleteObject,
|
||||
EditObject,
|
||||
)
|
||||
from netbox.ui import actions, layout
|
||||
from netbox.ui.panels import CommentsPanel, ObjectsTablePanel, TemplatePanel
|
||||
@@ -23,16 +30,17 @@ from netbox.views import generic
|
||||
from utilities.query import count_related
|
||||
from utilities.query_functions import CollateAsChar
|
||||
from utilities.views import GetRelatedModelsMixin, ViewTab, register_model_view
|
||||
|
||||
from . import filtersets, forms, tables
|
||||
from .models import *
|
||||
from .object_actions import BulkAddComponents
|
||||
from .ui import panels
|
||||
|
||||
|
||||
#
|
||||
# Cluster types
|
||||
#
|
||||
|
||||
|
||||
@register_model_view(ClusterType, 'list', path='', detail=False)
|
||||
class ClusterTypeListView(generic.ObjectListView):
|
||||
queryset = ClusterType.objects.annotate(
|
||||
|
||||
Reference in New Issue
Block a user