| return lambda x: x.mime_type or "" | return lambda x: x.mime_type or "" | ||||
| case "transfer_method": | case "transfer_method": | ||||
| return lambda x: x.transfer_method | return lambda x: x.transfer_method | ||||
| case "urL": | |||||
| case "url": | |||||
| return lambda x: x.remote_url or "" | return lambda x: x.remote_url or "" | ||||
| case _: | case _: | ||||
| raise ValueError(f"Invalid key: {key}") | raise ValueError(f"Invalid key: {key}") | ||||
| def _order_file(*, order: Literal["asc", "desc"], order_by: str = "", array: Sequence[File]): | def _order_file(*, order: Literal["asc", "desc"], order_by: str = "", array: Sequence[File]): | ||||
| if order_by in {"name", "type", "extension", "mime_type", "transfer_method", "urL"}: | |||||
| if order_by in {"name", "type", "extension", "mime_type", "transfer_method", "url"}: | |||||
| extract_func = _get_file_extract_string_func(key=order_by) | extract_func = _get_file_extract_string_func(key=order_by) | ||||
| return sorted(array, key=lambda x: extract_func(x), reverse=order == "desc") | return sorted(array, key=lambda x: extract_func(x), reverse=order == "desc") | ||||
| elif order_by == "size": | elif order_by == "size": |