Browse Source

move mac address regexp from mydefs to djing

devel
bashmak 8 years ago
parent
commit
2277a59001
  1. 7
      abonapp/models.py
  2. 8
      devapp/forms.py
  3. 8
      devapp/views.py
  4. 8
      djing/__init__.py
  5. 6
      mydefs.py

7
abonapp/models.py

@ -1,5 +1,5 @@
from datetime import datetime
from typing import Optional, Union
from typing import Optional
from django.conf import settings
from django.core import validators
@ -14,7 +14,8 @@ from django.utils.translation import ugettext_lazy as _, gettext
from accounts_app.models import UserProfile, MyUserManager, BaseAccount
from agent import Transmitter, AbonStruct, TariffStruct, NasFailedResult, NasNetworkError
from group_app.models import Group
from mydefs import MyGenericIPAddressField, ip2int, LogicError, ip_addr_regex
from mydefs import MyGenericIPAddressField, ip2int, LogicError
from djing import IP_ADDR_REGEX
from tariff_app.models import Tariff, PeriodicPay
from bitfield import BitField
@ -105,7 +106,7 @@ class ExtraFieldsModel(models.Model):
elif self.field_type == 'str':
return r'^[a-zA-ZА-Яа-я0-9]+$'
elif self.field_type == 'ipa':
return ip_addr_regex
return IP_ADDR_REGEX
def clean(self):
d = self.data

8
devapp/forms.py

@ -1,11 +1,9 @@
# -*- coding: utf-8 -*-
from django import forms
from django.utils.translation import ugettext as _
from django.utils.translation import gettext_lazy as _
from django.db import IntegrityError
from . import models
from mydefs import ip_addr_regex
from djing import MAC_ADDR_REGEX
from djing import MAC_ADDR_REGEX, IP_ADDR_REGEX
class DeviceForm(forms.ModelForm):
@ -22,7 +20,7 @@ class DeviceForm(forms.ModelForm):
exclude = ['map_dot', 'status']
widgets = {
'ip_address': forms.TextInput(attrs={
'pattern': ip_addr_regex,
'pattern': IP_ADDR_REGEX,
'placeholder': '192.168.0.100'
}),
'comment': forms.TextInput(attrs={

8
devapp/views.py

@ -11,10 +11,10 @@ from django.contrib import messages
from django.utils.decorators import method_decorator
from django.utils.translation import gettext_lazy as _, gettext
from easysnmp import EasySNMPTimeoutError, EasySNMPError
from django.views.generic import DetailView, ListView
from django.views.generic import DetailView
from devapp.base_intr import DeviceImplementationError
from mydefs import res_success, res_error, only_admins, ping, ip_addr_regex
from mydefs import res_success, res_error, only_admins, ping
from abonapp.models import Abon
from group_app.models import Group
from accounts_app.models import UserProfile
@ -24,7 +24,7 @@ from guardian.shortcuts import get_objects_for_user
from chatbot.telebot import send_notify
from chatbot.models import ChatException
from jsonview.decorators import json_view
from djing import global_base_views
from djing import global_base_views, IP_ADDR_REGEX
from .models import Device, Port, DeviceDBException, DeviceMonitoringException
from .forms import DeviceForm, PortForm
from mydefs import safe_int
@ -528,7 +528,7 @@ class OnDeviceMonitoringEvent(global_base_views.AllowedSubnetMixin, global_base_
if dev_ip is None or dev_ip == '':
return {'text': 'ip does not passed'}
if not bool(re.match(ip_addr_regex, dev_ip)):
if not bool(re.match(IP_ADDR_REGEX, dev_ip)):
return {'text': 'ip address %s is not valid' % dev_ip}
device_down = Device.objects.filter(ip_address=dev_ip).first()

8
djing/__init__.py

@ -4,12 +4,18 @@ from netaddr import mac_unix, mac_eui48
MAC_ADDR_REGEX = r'^([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]{1,2})$'
IP_ADDR_REGEX = r'^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
class mac_linux(mac_unix):
"""MAC format with zero-padded all upper-case hex and colon separated"""
word_fmt = '%x'
def default_dialect(eui_obj=None):
def default_dialect():
return mac_linux

6
mydefs.py

@ -11,14 +11,8 @@ from django.shortcuts import redirect
from django.db import models
from django.conf import settings
PAGINATION_ITEMS_PER_PAGE = getattr(settings, 'PAGINATION_ITEMS_PER_PAGE', 10)
DEBUG = getattr(settings, 'DEBUG', False)
ip_addr_regex = r'^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
def ip2int(addr):
try:

Loading…
Cancel
Save