MCPcopy Index your code
hub / github.com/AstrBotDevs/AstrBot / _normalize_files

Method _normalize_files

astrbot/dashboard/asgi_runtime.py:306–329  ·  view source on GitHub ↗
(cls, files: Any)

Source from the content-addressed store, hash-verified

304
305 @classmethod
306 def _normalize_files(cls, files: Any):
307 if isinstance(files, dict):
308 items = files.items()
309 elif isinstance(files, Iterable) and not isinstance(files, str | bytes):
310 items = files
311 else:
312 return files
313
314 normalized_files: list[tuple[str, Any]] = []
315 for key, value in items:
316 if cls._is_file_storage(value):
317 normalized_files.append((key, cls._file_tuple(value)))
318 continue
319 if isinstance(value, Iterable) and not isinstance(
320 value, str | bytes | dict
321 ):
322 values = list(value)
323 if values and all(cls._is_file_storage(item) for item in values):
324 normalized_files.extend(
325 (key, cls._file_tuple(item)) for item in values
326 )
327 continue
328 normalized_files.append((key, value))
329 return normalized_files
330
331 async def request(self, method: str, url: str, **kwargs):
332 data = kwargs.pop("data", None)

Callers 1

requestMethod · 0.95

Calls 5

_is_file_storageMethod · 0.80
_file_tupleMethod · 0.80
listFunction · 0.50
itemsMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected