1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Refactored CSV export logic

This commit is contained in:
Jeremy Stretch
2018-02-02 11:34:31 -05:00
parent df10fa87d3
commit 59dcbce417
9 changed files with 123 additions and 97 deletions

View File

@@ -14,7 +14,6 @@ from dcim.models import Interface
from extras.models import CustomFieldModel, CustomFieldValue
from tenancy.models import Tenant
from utilities.models import CreatedUpdatedModel
from utilities.utils import csv_format
from .constants import *
from .fields import IPNetworkField, IPAddressField
from .querysets import PrefixQuerySet
@@ -49,13 +48,13 @@ class VRF(CreatedUpdatedModel, CustomFieldModel):
return reverse('ipam:vrf', args=[self.pk])
def to_csv(self):
return csv_format([
return (
self.name,
self.rd,
self.tenant.name if self.tenant else None,
self.enforce_unique,
self.description,
])
)
@property
def display_name(self):
@@ -147,12 +146,12 @@ class Aggregate(CreatedUpdatedModel, CustomFieldModel):
super(Aggregate, self).save(*args, **kwargs)
def to_csv(self):
return csv_format([
return (
self.prefix,
self.rir.name,
self.date_added.isoformat() if self.date_added else None,
self.date_added,
self.description,
])
)
def get_utilization(self):
"""
@@ -262,7 +261,7 @@ class Prefix(CreatedUpdatedModel, CustomFieldModel):
super(Prefix, self).save(*args, **kwargs)
def to_csv(self):
return csv_format([
return (
self.prefix,
self.vrf.rd if self.vrf else None,
self.tenant.name if self.tenant else None,
@@ -273,7 +272,7 @@ class Prefix(CreatedUpdatedModel, CustomFieldModel):
self.role.name if self.role else None,
self.is_pool,
self.description,
])
)
def get_status_class(self):
return STATUS_CHOICE_CLASSES[self.status]
@@ -461,7 +460,7 @@ class IPAddress(CreatedUpdatedModel, CustomFieldModel):
else:
is_primary = False
return csv_format([
return (
self.address,
self.vrf.rd if self.vrf else None,
self.tenant.name if self.tenant else None,
@@ -472,7 +471,7 @@ class IPAddress(CreatedUpdatedModel, CustomFieldModel):
self.interface.name if self.interface else None,
is_primary,
self.description,
])
)
@property
def device(self):
@@ -577,7 +576,7 @@ class VLAN(CreatedUpdatedModel, CustomFieldModel):
})
def to_csv(self):
return csv_format([
return (
self.site.name if self.site else None,
self.group.name if self.group else None,
self.vid,
@@ -586,7 +585,7 @@ class VLAN(CreatedUpdatedModel, CustomFieldModel):
self.get_status_display(),
self.role.name if self.role else None,
self.description,
])
)
@property
def display_name(self):