From 60b046a97b6f455e4eddfc838e16252dd0d4b1fc Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Tue, 29 Aug 2023 16:31:07 +0200
Subject: [PATCH] fix a bug in SnmpCoordinate, pass linting pipeline

---
 gso/products/product_blocks/site.py      | 4 ++--
 gso/workflows/iptrunk/__init__.py        | 3 ++-
 gso/workflows/iptrunk/migrate_iptrunk.py | 4 +++-
 gso/workflows/site/create_site.py        | 2 +-
 4 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py
index 888c874e..1dae1b58 100644
--- a/gso/products/product_blocks/site.py
+++ b/gso/products/product_blocks/site.py
@@ -23,10 +23,10 @@ class SiteTier(strEnum):
 class SnmpCoordinate(ConstrainedStr):
     """An {term}`SNMP` coordinate, modeled as a constrained string.
 
-    The coordinate must match the format of `1.35`, `-12.3456`, etc.
+    The coordinate must match the format of `1.35`, `-123.456`, etc.
     """
 
-    regex = re.compile(r"^-?\d{1,2}\.\d+$")
+    regex = re.compile(r"^-?\d{1,3}\.\d+$")
 
 
 class SiteBlockInactive(ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="SiteBlock"):
diff --git a/gso/workflows/iptrunk/__init__.py b/gso/workflows/iptrunk/__init__.py
index 59eb58a8..09184636 100644
--- a/gso/workflows/iptrunk/__init__.py
+++ b/gso/workflows/iptrunk/__init__.py
@@ -2,7 +2,8 @@ from logging import getLogger
 
 from orchestrator import step
 from orchestrator.types import State
-from gso.products import Iptrunk
+
+from gso.products.product_types.iptrunk import Iptrunk
 
 logger = getLogger(__name__)
 
diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py
index 6c3ddd68..f87b625d 100644
--- a/gso/workflows/iptrunk/migrate_iptrunk.py
+++ b/gso/workflows/iptrunk/migrate_iptrunk.py
@@ -12,8 +12,10 @@ from orchestrator.types import FormGenerator, State, UUIDstr
 from orchestrator.workflow import StepList, done, init, inputstep
 from orchestrator.workflows.steps import resync, store_process_subscription, unsync
 from orchestrator.workflows.utils import wrap_modify_initial_input_form
-from gso.products import Iptrunk, Router
 from pydantic import validator
+
+from gso.products.product_types.iptrunk import Iptrunk
+from gso.products.product_types.router import Router
 from gso.services import provisioning_proxy
 from gso.services.provisioning_proxy import pp_interaction
 from gso.workflows.iptrunk import restore_isis_metric, set_isis_to_9000
diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py
index f787cbc4..b2e7406a 100644
--- a/gso/workflows/site/create_site.py
+++ b/gso/workflows/site/create_site.py
@@ -8,10 +8,10 @@ from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUID
 from orchestrator.workflow import StepList, done, init, step, workflow
 from orchestrator.workflows.steps import resync, set_status, store_process_subscription
 from orchestrator.workflows.utils import wrap_create_initial_input_form
-from gso.products.product_blocks.site import SnmpCoordinate
 from pydantic import validator
 
 from gso.products.product_blocks import site as site_pb
+from gso.products.product_blocks.site import SnmpCoordinate
 from gso.products.product_types import site
 from gso.workflows.utils import customer_selector
 
-- 
GitLab