Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __copy__(self):
return CopyableRegexObject(self.pattern)
else:
self.match = line
# Replace ${varname} entries.
self.regex = self.match
if var_map:
try:
self.regex = string.Template(self.match).substitute(var_map)
except (ValueError, KeyError):
raise TextFSMTemplateError(
"Duplicate or invalid variable substitution: '%s'. Line: %s." %
(self.match, self.line_num))
try:
# Work around a regression in Python 2.6 that makes RE Objects uncopyable.
self.regex_obj = CopyableRegexObject(self.regex)
except re.error:
raise TextFSMTemplateError(
"Invalid regular expression: '%s'. Line: %s." %
(self.regex, self.line_num))
# No '->' present, so done.
if not match_action:
return
# Attempt to match line.record operation.
action_re = self.ACTION_RE.match(match_action.group('action'))
if not action_re:
# Attempt to match record operation.
action_re = self.ACTION2_RE.match(match_action.group('action'))
if not action_re:
# Math implicit defaults with an optional new state.