correction in allow_without_dot + test
This commit is contained in:
parent
6902ad4f18
commit
eb3327cd75
2 changed files with 12 additions and 4 deletions
|
@ -8,7 +8,8 @@ from tiramisu.option import DomainnameOption, EmailOption, URLOption, OptionDesc
|
||||||
def test_domainname():
|
def test_domainname():
|
||||||
d = DomainnameOption('d', '')
|
d = DomainnameOption('d', '')
|
||||||
e = DomainnameOption('e', '', "toto.com")
|
e = DomainnameOption('e', '', "toto.com")
|
||||||
od = OptionDescription('a', '', [d, e])
|
f = DomainnameOption('f', '', allow_without_dot=True)
|
||||||
|
od = OptionDescription('a', '', [d, f])
|
||||||
c = Config(od)
|
c = Config(od)
|
||||||
c.read_write()
|
c.read_write()
|
||||||
c.d = 'toto.com'
|
c.d = 'toto.com'
|
||||||
|
@ -20,6 +21,9 @@ def test_domainname():
|
||||||
raises(ValueError, "c.d = 'toto_super.com'")
|
raises(ValueError, "c.d = 'toto_super.com'")
|
||||||
c.d = 'toto-.com'
|
c.d = 'toto-.com'
|
||||||
raises(ValueError, "c.d = 'toto..com'")
|
raises(ValueError, "c.d = 'toto..com'")
|
||||||
|
#
|
||||||
|
c.f = 'toto.com'
|
||||||
|
c.f = 'toto'
|
||||||
|
|
||||||
|
|
||||||
def test_domainname_netbios():
|
def test_domainname_netbios():
|
||||||
|
|
|
@ -991,16 +991,20 @@ class DomainnameOption(Option):
|
||||||
self._allow_without_dot = allow_without_dot
|
self._allow_without_dot = allow_without_dot
|
||||||
end = ''
|
end = ''
|
||||||
extrachar = ''
|
extrachar = ''
|
||||||
|
extrachar_mandatory = ''
|
||||||
if self._type == 'netbios':
|
if self._type == 'netbios':
|
||||||
length = 14
|
length = 14
|
||||||
elif self._type == 'hostname':
|
elif self._type == 'hostname':
|
||||||
length = 62
|
length = 62
|
||||||
elif self._type == 'domainname':
|
elif self._type == 'domainname':
|
||||||
length = 62
|
length = 62
|
||||||
extrachar = '\.'
|
if allow_without_dot is False:
|
||||||
|
extrachar_mandatory = '\.'
|
||||||
|
else:
|
||||||
|
extrachar = '\.'
|
||||||
end = '+[a-z]*'
|
end = '+[a-z]*'
|
||||||
self._domain_re = re.compile(r'^(?:[a-z][a-z\d\-]{{,{0}}}{1}){2}$'
|
self._domain_re = re.compile(r'^(?:[a-z][a-z\d\-{0}]{{,{1}}}{2}){3}$'
|
||||||
''.format(length, extrachar, end))
|
''.format(extrachar, length, extrachar_mandatory, end))
|
||||||
super(DomainnameOption, self).__init__(name, doc, default=default,
|
super(DomainnameOption, self).__init__(name, doc, default=default,
|
||||||
default_multi=default_multi,
|
default_multi=default_multi,
|
||||||
callback=callback,
|
callback=callback,
|
||||||
|
|
Loading…
Reference in a new issue