Skip to content

Commit 4a2bc07

Browse files
committed
convert IPv6 addresses to lowercase in apply-patch
1 parent 28926b0 commit 4a2bc07

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

config/main.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1357,6 +1357,20 @@ def apply_patch(ctx, patch_file_path, format, dry_run, ignore_non_yang_tables, i
13571357
patch_as_json = json.loads(text)
13581358
patch = jsonpatch.JsonPatch(patch_as_json)
13591359

1360+
# convert IPv6 addresses to lowercase
1361+
for l in patch:
1362+
if 'remove' == l['op']:
1363+
match = re.search(r"(?P<prefix>/INTERFACE/\w+\|)(?P<ipv6_address>([a-fA-F0-9]{0,4}[:~]|::){1,7}[a-fA-F0-9]{0,4})"
1364+
"(?P<suffix>.*)", str.format(l['path']))
1365+
if match:
1366+
prefix = match.group('prefix')
1367+
ipv6_address_str = match.group('ipv6_address')
1368+
suffix = match.group('suffix')
1369+
ipv6_address_str = ipv6_address_str.lower()
1370+
click.secho("converted ipv6 address to lowercase {} with prefix {} in value: {}"
1371+
.format(ipv6_address_str, prefix, l['path']))
1372+
l['path'] = prefix + ipv6_address_str + suffix
1373+
13601374
config_format = ConfigFormat[format.upper()]
13611375
GenericUpdater().apply_patch(patch, config_format, verbose, dry_run, ignore_non_yang_tables, ignore_path)
13621376

0 commit comments

Comments
 (0)