sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #05430
[Merge] ~ack/maas:maasserver-fields-cleanups into maas:master
Alberto Donato has proposed merging ~ack/maas:maasserver-fields-cleanups into maas:master.
Commit message:
cleanups to MAC-related custom field/form
Requested reviews:
MAAS Maintainers (maas-maintainers)
For more details, see:
https://code.launchpad.net/~ack/maas/+git/maas/+merge/437993
--
Your team MAAS Maintainers is requested to review the proposed merge of ~ack/maas:maasserver-fields-cleanups into maas:master.
diff --git a/src/maasserver/api/machines.py b/src/maasserver/api/machines.py
index 7ba6143..766dc68 100644
--- a/src/maasserver/api/machines.py
+++ b/src/maasserver/api/machines.py
@@ -62,7 +62,7 @@ from maasserver.exceptions import (
NodeStateViolation,
Unauthorized,
)
-from maasserver.fields import mac_validator
+from maasserver.fields import MAC_VALIDATOR
from maasserver.forms import (
AdminMachineForm,
get_machine_create_form,
@@ -1915,7 +1915,7 @@ class AnonMachinesHandler(AnonNodesHandler):
macs_valid = True
for mac_address in mac_addresses:
try:
- mac_validator(mac_address)
+ MAC_VALIDATOR(mac_address)
except ValidationError:
macs_valid = False
break
diff --git a/src/maasserver/fields.py b/src/maasserver/fields.py
index bc8277d..83b5d83 100644
--- a/src/maasserver/fields.py
+++ b/src/maasserver/fields.py
@@ -3,20 +3,6 @@
"""Custom model and form fields."""
-__all__ = [
- "CIDRField",
- "EditableBinaryField",
- "Field",
- "HostListFormField",
- "IPListFormField",
- "IPv4CIDRField",
- "MACAddressField",
- "MACAddressFormField",
- "MODEL_NAME_VALIDATOR",
- "NodeChoiceField",
- "VersionedTextFileField",
-]
-
import re
from django import forms
@@ -46,17 +32,17 @@ MODEL_NAME_VALIDATOR = RegexValidator(r"^\w[ \w-]*$")
MAC_RE = re.compile(
- r"^\s*("
- r"([0-9a-fA-F]{1,2}:){5}[0-9a-fA-F]{1,2}|"
- r"([0-9a-fA-F]{1,2}-){5}[0-9a-fA-F]{1,2}|"
- r"([0-9a-fA-F]{3,4}.){2}[0-9a-fA-F]{3,4}"
- r")\s*$"
+ r"^"
+ r"([0-9a-fA-F]{1,2}:){5}[0-9a-fA-F]{1,2}|" # aa:bb:cc:dd:ee:ff
+ r"([0-9a-fA-F]{1,2}-){5}[0-9a-fA-F]{1,2}|" # aa-bb-cc-dd-ee-ff
+ r"([0-9a-fA-F]{3,4}.){2}[0-9a-fA-F]{3,4}" # aabb.ccdd.eeff
+ r"$"
)
MAC_ERROR_MSG = "'%(value)s' is not a valid MAC address."
-mac_validator = RegexValidator(regex=MAC_RE, message=MAC_ERROR_MSG)
+MAC_VALIDATOR = RegexValidator(regex=MAC_RE, message=MAC_ERROR_MSG)
class StrippedCharField(forms.CharField):
@@ -102,7 +88,7 @@ class MACAddressField(Field):
description = "MAC address"
- default_validators = [mac_validator]
+ default_validators = [MAC_VALIDATOR]
def db_type(self, *args, **kwargs):
return "macaddr"
diff --git a/src/maasserver/models/tests/test_interface.py b/src/maasserver/models/tests/test_interface.py
index a6cd866..919074b 100644
--- a/src/maasserver/models/tests/test_interface.py
+++ b/src/maasserver/models/tests/test_interface.py
@@ -1008,7 +1008,7 @@ class TestInterface(MAASServerTestCase):
# twice: once as part of Interface.clean() resulting in the __all__
# error, and once as part of field validation that happens after a
# few queries are done, so we cannot easily get rid of
- # mac_validator() in clean().
+ # MAC_VALIDATOR() in clean().
self.assertThat(
exception.message_dict,
MatchesDict(
diff --git a/src/maasserver/node_constraint_filter_forms.py b/src/maasserver/node_constraint_filter_forms.py
index 091d6fa..44b0064 100644
--- a/src/maasserver/node_constraint_filter_forms.py
+++ b/src/maasserver/node_constraint_filter_forms.py
@@ -24,7 +24,7 @@ from maasserver.enum import (
SIMPLIFIED_NODE_STATUS,
SIMPLIFIED_NODE_STATUS_LABEL_CHOICES,
)
-from maasserver.fields import mac_validator, MODEL_NAME_VALIDATOR
+from maasserver.fields import MAC_VALIDATOR, MODEL_NAME_VALIDATOR
import maasserver.forms as maasserver_forms
from maasserver.forms import (
ConstrainedMultipleChoiceField,
@@ -1332,7 +1332,7 @@ class ReadNodesForm(FilterNodeForm):
)
mac_address = ValidatorMultipleChoiceField(
- validator=mac_validator,
+ validator=MAC_VALIDATOR,
label="MAC addresses to filter on",
required=False,
error_messages={
Follow ups