diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py index caaeaf167..e7301a9f7 100644 --- a/ipalib/plugins/dns.py +++ b/ipalib/plugins/dns.py @@ -1136,14 +1136,19 @@ class LOCRecord(DNSRecord): See RFC 1876 for details""") def _get_part_values(self, value): - regex = re.compile(\ - r'(?P\d{1,2}\s+)(?P\d{1,2}\s+)?(?P\d{1,2}\.?\d{1,3}?\s+)?'\ - r'(?P[N|S])\s+'\ - r'(?P\d{1,3}\s+)(?P\d{1,2}\s+)?(?P\d{1,2}\.?\d{1,3}?\s+)?'\ - r'(?P[W|E])\s+'\ - r'(?P-?\d{1,8}\.?\d{1,2}?)m?\s*'\ - r'(?P\d{1,8}\.?\d{1,2}?)?m?\s*'\ - r'(?P\d{1,8}\.?\d{1,2}?)?m?\s*(?P\d{1,8}\.?\d{1,2}?)?m?\s*$') + regex = re.compile( + r'(?P\d{1,2}\s+)' + r'(?:(?P\d{1,2}\s+)' + r'(?P\d{1,2}(?:\.\d{1,3})?\s+)?)?' + r'(?P[NS])\s+' + r'(?P\d{1,3}\s+)' + r'(?:(?P\d{1,2}\s+)' + r'(?P\d{1,2}(?:\.\d{1,3})?\s+)?)?' + r'(?P[WE])\s+' + r'(?P-?\d{1,8}(?:\.\d{1,2})?)m?' + r'(?:\s+(?P\d{1,8}(?:\.\d{1,2})?)m?' + r'(?:\s+(?P\d{1,8}(?:\.\d{1,2})?)m?' + r'(?:\s+(?P\d{1,8}(?:\.\d{1,2})?)m?\s*)?)?)?$') m = regex.match(value)