8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-22 19:33:11 +00:00

ip_set_full_info

This commit is contained in:
Charlie Jacomme 2018-06-21 20:55:16 +02:00
parent 998d093cac
commit eca223cdc4

View file

@ -285,11 +285,28 @@ class IpType(RevMixin, AclMixin, models.Model):
""" Renvoie une IPSet à partir de l'iptype""" """ Renvoie une IPSet à partir de l'iptype"""
return IPSet(self.ip_range) return IPSet(self.ip_range)
@cached_property
def ip_set_cidrs_as_str(self):
"""Renvoie la liste des cidrs du range en str"""
return [str(ip_range) for ip_range in self.ip_set.iter_cidrs()]
@cached_property @cached_property
def ip_set_as_str(self): def ip_set_as_str(self):
""" Renvoie une liste des ip en string""" """ Renvoie une liste des ip en string"""
return [str(x) for x in self.ip_set] return [str(x) for x in self.ip_set]
@cached_property
def ip_set_full_info(self):
"""Iter sur les range cidr, et renvoie network, broacast , etc"""
return [
{
'network': str(ip_set.network),
'netmask': str(ip_set.netmask),
'broacast': str(ip_set.broadcast),
} for ip_set in self.ip_set.iter_cidrs()
]
def ip_objects(self): def ip_objects(self):
""" Renvoie tous les objets ipv4 relié à ce type""" """ Renvoie tous les objets ipv4 relié à ce type"""
return IpList.objects.filter(ip_type=self) return IpList.objects.filter(ip_type=self)