From 716d2b2348424fa02e2e5fc1f6b77707dd248fd1 Mon Sep 17 00:00:00 2001 From: gwen Date: Tue, 25 Feb 2014 14:19:54 +0100 Subject: [PATCH] allows a DomainnameOption to start with a number --- test/test_config_domain.py | 11 ++++++++++- tiramisu/option.py | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/test/test_config_domain.py b/test/test_config_domain.py index f4579a6..fd9f0cc 100644 --- a/test/test_config_domain.py +++ b/test/test_config_domain.py @@ -16,7 +16,7 @@ def test_domainname(): raises(ValueError, "c.d = 'toto'") c.d = 'toto3.com' raises(ValueError, "c.d = 'toto3.3la'") - raises(ValueError, "c.d = '3toto.com'") + #raises(ValueError, "c.d = '3toto.com'") raises(ValueError, "c.d = 'toto.co3'") raises(ValueError, "c.d = 'toto_super.com'") c.d = 'toto-.com' @@ -25,6 +25,15 @@ def test_domainname(): c.f = 'toto.com' c.f = 'toto' +def test_domainname_special(): + """domain name option that starts with a number + """ + d = DomainnameOption('d', '') + od = OptionDescription('a', '', [d]) + c = Config(od) + c.read_write() + c.d = '1toto.com' + c.d = '123toto.com' def test_domainname_netbios(): d = DomainnameOption('d', '', type_='netbios') diff --git a/tiramisu/option.py b/tiramisu/option.py index 9df3d01..4c16aa9 100644 --- a/tiramisu/option.py +++ b/tiramisu/option.py @@ -1004,7 +1004,7 @@ class DomainnameOption(Option): else: extrachar = '\.' end = '+[a-z]*' - self._domain_re = re.compile(r'^(?:[a-z][a-z\d\-{0}]{{,{1}}}{2}){3}$' + self._domain_re = re.compile(r'^(?:[a-z\d][a-z\d\-{0}]{{,{1}}}{2}){3}$' ''.format(extrachar, length, extrachar_mandatory, end)) super(DomainnameOption, self).__init__(name, doc, default=default, default_multi=default_multi,