Spaces:
Running
Running
Jeremiah Lowin commited on
Commit ·
1ef0006
1
Parent(s): 2c1fc32
Update str assignment
Browse files
src/fastmcp/resources/resource_manager.py
CHANGED
|
@@ -115,27 +115,28 @@ class ResourceManager:
|
|
| 115 |
Args:
|
| 116 |
resource: A Resource instance to add
|
| 117 |
"""
|
|
|
|
| 118 |
logger.debug(
|
| 119 |
"Adding resource",
|
| 120 |
extra={
|
| 121 |
-
"uri":
|
| 122 |
"type": type(resource).__name__,
|
| 123 |
"resource_name": resource.name,
|
| 124 |
},
|
| 125 |
)
|
| 126 |
-
existing = self._resources.get(
|
| 127 |
if existing:
|
| 128 |
if self.duplicate_behavior == "warn":
|
| 129 |
-
logger.warning(f"Resource already exists: {
|
| 130 |
-
self._resources[
|
| 131 |
elif self.duplicate_behavior == "replace":
|
| 132 |
-
self._resources[
|
| 133 |
elif self.duplicate_behavior == "error":
|
| 134 |
-
raise ValueError(f"Resource already exists: {
|
| 135 |
elif self.duplicate_behavior == "ignore":
|
| 136 |
return existing
|
| 137 |
else:
|
| 138 |
-
self._resources[
|
| 139 |
return resource
|
| 140 |
|
| 141 |
def add_template_from_fn(
|
|
@@ -169,27 +170,28 @@ class ResourceManager:
|
|
| 169 |
The added template. If a template with the same URI already exists,
|
| 170 |
returns the existing template.
|
| 171 |
"""
|
|
|
|
| 172 |
logger.debug(
|
| 173 |
"Adding resource",
|
| 174 |
extra={
|
| 175 |
-
"uri":
|
| 176 |
"type": type(template).__name__,
|
| 177 |
"resource_name": template.name,
|
| 178 |
},
|
| 179 |
)
|
| 180 |
-
existing = self._templates.get(
|
| 181 |
if existing:
|
| 182 |
if self.duplicate_behavior == "warn":
|
| 183 |
-
logger.warning(f"Resource already exists: {
|
| 184 |
-
self._templates[
|
| 185 |
elif self.duplicate_behavior == "replace":
|
| 186 |
-
self._templates[
|
| 187 |
elif self.duplicate_behavior == "error":
|
| 188 |
-
raise ValueError(f"Resource already exists: {
|
| 189 |
elif self.duplicate_behavior == "ignore":
|
| 190 |
return existing
|
| 191 |
else:
|
| 192 |
-
self._templates[
|
| 193 |
return template
|
| 194 |
|
| 195 |
async def get_resource(self, uri: AnyUrl | str) -> Resource | None:
|
|
|
|
| 115 |
Args:
|
| 116 |
resource: A Resource instance to add
|
| 117 |
"""
|
| 118 |
+
uri_str = str(resource.uri)
|
| 119 |
logger.debug(
|
| 120 |
"Adding resource",
|
| 121 |
extra={
|
| 122 |
+
"uri": uri_str,
|
| 123 |
"type": type(resource).__name__,
|
| 124 |
"resource_name": resource.name,
|
| 125 |
},
|
| 126 |
)
|
| 127 |
+
existing = self._resources.get(uri_str)
|
| 128 |
if existing:
|
| 129 |
if self.duplicate_behavior == "warn":
|
| 130 |
+
logger.warning(f"Resource already exists: {uri_str}")
|
| 131 |
+
self._resources[uri_str] = resource
|
| 132 |
elif self.duplicate_behavior == "replace":
|
| 133 |
+
self._resources[uri_str] = resource
|
| 134 |
elif self.duplicate_behavior == "error":
|
| 135 |
+
raise ValueError(f"Resource already exists: {uri_str}")
|
| 136 |
elif self.duplicate_behavior == "ignore":
|
| 137 |
return existing
|
| 138 |
else:
|
| 139 |
+
self._resources[uri_str] = resource
|
| 140 |
return resource
|
| 141 |
|
| 142 |
def add_template_from_fn(
|
|
|
|
| 170 |
The added template. If a template with the same URI already exists,
|
| 171 |
returns the existing template.
|
| 172 |
"""
|
| 173 |
+
uri_template_str = str(template.uri_template)
|
| 174 |
logger.debug(
|
| 175 |
"Adding resource",
|
| 176 |
extra={
|
| 177 |
+
"uri": uri_template_str,
|
| 178 |
"type": type(template).__name__,
|
| 179 |
"resource_name": template.name,
|
| 180 |
},
|
| 181 |
)
|
| 182 |
+
existing = self._templates.get(uri_template_str)
|
| 183 |
if existing:
|
| 184 |
if self.duplicate_behavior == "warn":
|
| 185 |
+
logger.warning(f"Resource already exists: {uri_template_str}")
|
| 186 |
+
self._templates[uri_template_str] = template
|
| 187 |
elif self.duplicate_behavior == "replace":
|
| 188 |
+
self._templates[uri_template_str] = template
|
| 189 |
elif self.duplicate_behavior == "error":
|
| 190 |
+
raise ValueError(f"Resource already exists: {uri_template_str}")
|
| 191 |
elif self.duplicate_behavior == "ignore":
|
| 192 |
return existing
|
| 193 |
else:
|
| 194 |
+
self._templates[uri_template_str] = template
|
| 195 |
return template
|
| 196 |
|
| 197 |
async def get_resource(self, uri: AnyUrl | str) -> Resource | None:
|