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": resource.uri,
122
  "type": type(resource).__name__,
123
  "resource_name": resource.name,
124
  },
125
  )
126
- existing = self._resources.get(str(resource.uri))
127
  if existing:
128
  if self.duplicate_behavior == "warn":
129
- logger.warning(f"Resource already exists: {resource.uri}")
130
- self._resources[str(resource.uri)] = resource
131
  elif self.duplicate_behavior == "replace":
132
- self._resources[str(resource.uri)] = resource
133
  elif self.duplicate_behavior == "error":
134
- raise ValueError(f"Resource already exists: {resource.uri}")
135
  elif self.duplicate_behavior == "ignore":
136
  return existing
137
  else:
138
- self._resources[str(resource.uri)] = resource
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": template.uri_template,
176
  "type": type(template).__name__,
177
  "resource_name": template.name,
178
  },
179
  )
180
- existing = self._templates.get(str(template.uri_template))
181
  if existing:
182
  if self.duplicate_behavior == "warn":
183
- logger.warning(f"Resource already exists: {template.uri_template}")
184
- self._templates[str(template.uri_template)] = template
185
  elif self.duplicate_behavior == "replace":
186
- self._templates[str(template.uri_template)] = template
187
  elif self.duplicate_behavior == "error":
188
- raise ValueError(f"Resource already exists: {template.uri_template}")
189
  elif self.duplicate_behavior == "ignore":
190
  return existing
191
  else:
192
- self._templates[template.uri_template] = template
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: