diff options
author | Christian Poessinger <christian@poessinger.com> | 2022-11-03 17:47:55 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2022-11-03 18:04:12 +0100 |
commit | 3f5464d0ee857d204dc58867065380340008f79b (patch) | |
tree | 411a2022522ede95bcf1f80558b52ce0cb0ad743 /src/validators/mac-address | |
parent | 81a70033cc9552e7bcc9f6aa6cc092b4e64b6b7c (diff) | |
download | vyos-1x-3f5464d0ee857d204dc58867065380340008f79b.tar.gz vyos-1x-3f5464d0ee857d204dc58867065380340008f79b.zip |
validators: T4795: migrate mac-address python validator to validate-value
Instead of spawning the Python interpreter for every mac-address to
validate, rather use the base validate-value OCaml implementation which
is much faster.
This removes redundant code and also makes the CLI more responsive.
Validator is moved out to a dedicated file instead of using XML inlined <regex>
for the reason of re-usability. So if that regex needs to be touched again - it
can all happen in one single file.
Diffstat (limited to 'src/validators/mac-address')
-rwxr-xr-x | src/validators/mac-address | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/src/validators/mac-address b/src/validators/mac-address index 7d020f387..bb859a603 100755 --- a/src/validators/mac-address +++ b/src/validators/mac-address @@ -1,27 +1,2 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2018-2020 VyOS maintainers and contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 or later as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -import re -import sys - -pattern = "^([0-9A-Fa-f]{2}:){5}([0-9A-Fa-f]{2})$" - -if __name__ == '__main__': - if len(sys.argv) != 2: - sys.exit(1) - if not re.match(pattern, sys.argv[1]): - sys.exit(1) - sys.exit(0) +#!/usr/bin/env sh +${vyos_libexec_dir}/validate-value --regex "([0-9A-Fa-f]{2}:){5}([0-9A-Fa-f]{2})" --value "$1" |