flyrain commented on code in PR #117:
URL: https://github.com/apache/polaris-tools/pull/117#discussion_r2651960991


##########
mcp-server/polaris_mcp/tools/policy.py:
##########
@@ -147,31 +147,26 @@ def call(self, arguments: Any) -> ToolExecutionResult:
         if isinstance(realm, str) and realm.strip():
             delegate_args["realm"] = realm
 
-        if normalized == "list":
-            self._require_namespace(namespace, "list")
-            self._handle_list(delegate_args, catalog, namespace)
-        elif normalized == "get":
-            self._require_namespace(namespace, "get")
-            self._handle_get(arguments, delegate_args, catalog, namespace)
-        elif normalized == "create":
-            self._require_namespace(namespace, "create")
-            self._handle_create(arguments, delegate_args, catalog, namespace)
-        elif normalized == "update":
-            self._require_namespace(namespace, "update")
-            self._handle_update(arguments, delegate_args, catalog, namespace)
-        elif normalized == "delete":
-            self._require_namespace(namespace, "delete")
-            self._handle_delete(arguments, delegate_args, catalog, namespace)
-        elif normalized == "attach":
-            self._require_namespace(namespace, "attach")
-            self._handle_attach(arguments, delegate_args, catalog, namespace)
-        elif normalized == "detach":
-            self._require_namespace(namespace, "detach")
-            self._handle_detach(arguments, delegate_args, catalog, namespace)
-        elif normalized == "applicable":
+        if normalized == "applicable":
             self._handle_applicable(delegate_args, catalog)
-        else:  # pragma: no cover
-            raise ValueError(f"Unsupported operation: {operation}")
+        else:
+            str_namespace = self._require_namespace(namespace, normalized)
+            if normalized == "list":
+                self._handle_list(delegate_args, catalog, str_namespace)
+            elif normalized == "get":
+                self._handle_get(arguments, delegate_args, catalog, 
str_namespace)
+            elif normalized == "create":
+                self._handle_create(arguments, delegate_args, catalog, 
str_namespace)
+            elif normalized == "update":
+                self._handle_update(arguments, delegate_args, catalog, 
str_namespace)
+            elif normalized == "delete":
+                self._handle_delete(arguments, delegate_args, catalog, 
str_namespace)
+            elif normalized == "attach":
+                self._handle_attach(arguments, delegate_args, catalog, 
str_namespace)
+            elif normalized == "detach":
+                self._handle_detach(arguments, delegate_args, catalog, 
str_namespace)
+            else:  # pragma: no cover
+                raise ValueError(f"Unsupported operation: {operation}")

Review Comment:
   Thanks for the explanation. Always good to have a less scoped variable! 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to