Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _expand_formatting_rule(rule, national_prefix):
"""Formatting rules can include terms "$NP" and "$FG",
These get replaced with:
"$NP" => the national prefix
"$FG" => the first group, i.e. "$1"
"""
if rule is None:
return None
if national_prefix is None:
national_prefix = u("")
rule = re.sub(u(r"\$NP"), national_prefix, rule)
rule = re.sub(u(r"\$FG"), u("$1"), rule)
return rule
def __unicode__(self):
return u(self.o)
def __unicode__(self):
return u(self.o)
def __unicode__(self):
return u(self.number_format)
# expand abbreviations
self.o.domestic_carrier_code_formatting_rule = _expand_formatting_rule(self.o.domestic_carrier_code_formatting_rule,
national_prefix)
else:
# set to territory-wide formatting rule
self.o.domestic_carrier_code_formatting_rule = carrier_code_formatting_rule
if self.o.domestic_carrier_code_formatting_rule is not None:
# Replace '$1' etc with '\1' to match Python regexp group reference format
self.o.domestic_carrier_code_formatting_rule = re.sub(r'\$(\d)', r'\\\1', self.o.domestic_carrier_code_formatting_rule)
self.o.format = _get_unique_child_value(xtag, 'format')
if self.o.format is None:
raise Exception("No format pattern found")
else:
# Replace '$1' etc with '\1' to match Python regexp group reference format
self.o.format = re.sub(r'\$', u(r'\\'), self.o.format)
xleading_digits = xtag.findall("leadingDigits")
for xleading_digit in xleading_digits:
self.o.leading_digits_pattern.append(_dews_re(xleading_digit.text))
# Add this NumberFormat object into the owning metadata
owning_xterr.o.number_format.append(self.o)
# Extract the pattern for international format; if not present, use the national format.
# If the intlFormat is set to "NA" the intlFormat should be ignored.
self.io = NumberFormat(pattern=self.o.pattern,
leading_digits_pattern=self.o.leading_digits_pattern)
self.io._mutable = True
intl_format = _get_unique_child_value(xtag, "intlFormat")
if intl_format is None:
# Default to use the same as the national pattern if none is defined.
def _expand_formatting_rule(rule, national_prefix):
"""Formatting rules can include terms "$NP" and "$FG",
These get replaced with:
"$NP" => the national prefix
"$FG" => the first group, i.e. "$1"
"""
if rule is None:
return None
if national_prefix is None:
national_prefix = u("")
rule = re.sub(u(r"\$NP"), national_prefix, rule)
rule = re.sub(u(r"\$FG"), u("$1"), rule)
return rule
def __unicode__(self):
return u("\n").join([u("%s: %s") % (country_id, territory) for country_id, territory in self.territory.items()])
def _expand_formatting_rule(rule, national_prefix):
"""Formatting rules can include terms "$NP" and "$FG",
These get replaced with:
"$NP" => the national prefix
"$FG" => the first group, i.e. "$1"
"""
if rule is None:
return None
if national_prefix is None:
national_prefix = u("")
rule = re.sub(u(r"\$NP"), national_prefix, rule)
rule = re.sub(u(r"\$FG"), u("$1"), rule)
return rule