(row)
| 17474 | e: Parameter. |
| 17475 | |
| 17476 | Returns: |
| 17477 | Varies. |
| 17478 | """ |
| 17479 | return (0 if e["is_dir"] else 1, e["kind"].lower(), e["name"].lower()) |
| 17480 | |
| 17481 | if sort == "mtime": |
| 17482 | entries.sort(key=k_mtime, reverse=reverse) |
| 17483 | elif sort == "size": |
| 17484 | entries.sort(key=k_size, reverse=reverse) |
| 17485 | elif sort == "type": |
| 17486 | entries.sort(key=k_type, reverse=reverse) |
| 17487 | else: |
| 17488 | entries.sort(key=k_name, reverse=reverse) |
| 17489 | |
| 17490 | class Obj: pass |
| 17491 | out = [] |
| 17492 | for e in entries: |
| 17493 | o = Obj() |
| 17494 | o.name = e["name"] |
| 17495 | o.is_dir = e["is_dir"] |
| 17496 | o.kind = e["kind"] |
| 17497 | o.size_h = "-" if e["is_dir"] else human_size(int(e["size"])) |
| 17498 | o.mtime_h = datetime.fromtimestamp(e["mtime"]).isoformat(sep=" ", timespec="seconds") |
| 17499 | out.append(o) |
| 17500 | return out |
no test coverage detected