From 5c95469ca31473b2defbb9784d21431c848bdeeb Mon Sep 17 00:00:00 2001 From: Kris Forbes Date: Fri, 6 Feb 2026 16:06:30 -0500 Subject: [PATCH] Support SVR prefix in hostname cleanup --- test_inventory_keys.py | 15 +++++++++++++++ wif2ansible/parsers.py | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/test_inventory_keys.py b/test_inventory_keys.py index 2779bef..cd16cc7 100644 --- a/test_inventory_keys.py +++ b/test_inventory_keys.py @@ -27,5 +27,20 @@ class TestInventoryKeys(unittest.TestCase): self.assertEqual(host_vars['ansible_host'], "192.168.1.10") self.assertEqual(host_vars['ansible_connection'], "winrm") + def test_clean_reference_logic(self): + from wif2ansible.parsers import clean_reference + + # Test cases + self.assertEqual(clean_reference("SRV123 MyServer"), "MyServer") + self.assertEqual(clean_reference("SVR999 AnotherServer"), "AnotherServer") + self.assertEqual(clean_reference("srv001 lowercase"), "lowercase") + self.assertEqual(clean_reference("SvR555 MixedCase"), "MixedCase") + self.assertEqual(clean_reference("JustName"), "JustName") + self.assertEqual(clean_reference("SRV123"), "") # Should be empty? or handle? + # If it's just SRV123, strip returns empty. + # User said "never include these in output". + # If the server is ONLY named SRV123, what then? + # Assuming there is usually a name. + if __name__ == '__main__': unittest.main() diff --git a/wif2ansible/parsers.py b/wif2ansible/parsers.py index a833816..991b8a3 100644 --- a/wif2ansible/parsers.py +++ b/wif2ansible/parsers.py @@ -67,8 +67,8 @@ def clean_reference(ref: str) -> str: return "" s = str(ref) - # Remove SRV followed by digits and whitespace - s = re.sub(r'SRV\d+\s*', '', s, flags=re.IGNORECASE) + # Remove SRV or SVR followed by digits and whitespace + s = re.sub(r'S(RV|VR)\d+\s*', '', s, flags=re.IGNORECASE) # Remove leading/trailing whitespace return s.strip()