From 70780c81bae7495f855ef96e14191111afbfb321 Mon Sep 17 00:00:00 2001 From: Hakan Calim <hakan.calim@fau.de> Date: Wed, 1 Nov 2023 21:05:28 +0100 Subject: [PATCH] NAT-328: Moved the site name validation to this file --- gso/utils/helpers.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gso/utils/helpers.py b/gso/utils/helpers.py index 385096c8a..1a54386af 100644 --- a/gso/utils/helpers.py +++ b/gso/utils/helpers.py @@ -151,3 +151,17 @@ def validate_iptrunk_unique_interface(interfaces: list[LAGMember]) -> list[LAGMe if len(interface_names) != len(set(interface_names)): raise ValueError("Interfaces must be unique.") return interfaces + + +def validate_site_name(site_name: str) -> str: + """Accepts only three capital letters and optional a digit after the capital letters for the sitename. + + The site names can have the format like this: AMS, LON, LON0...LON9 + """ + + # Accept 3 chapital letters and only one ditigt after capital letters. + pattern = re.compile(r"^[A-Z]{3}[0-9]?$") + if not bool(pattern.match(site_name)): + raise ValueError(f"Enter a valid site name similar looks like AMS, AMS1or LON9. Get: {site_name}") + + return site_name -- GitLab