Spaces:
Sleeping
Sleeping
Download backend/app/utils.py from junyoung137/image-tool: direct link, hf CLI and curl.
- Browser
- Download file 1.16 kB
-
https://huggingface.co/spaces/junyoung137/image-tool/resolve/main/backend/app/utils.py
- Command line
-
hf download hf://spaces/junyoung137/image-tool/backend/app/utils.py
-
curl -L -o utils.py https://huggingface.co/spaces/junyoung137/image-tool/resolve/main/backend/app/utils.py
1.16 kB
| """ | |
| utils.py — small project-wide utility functions. | |
| """ | |
| from datetime import datetime | |
| def job_folder_name(job_id: str, created_at: datetime) -> str: | |
| """Convert a UUID job_id + creation datetime to a human-readable folder name. | |
| Format: {YYYY-MM-DD}_{HHMMSS}_{first 4 hex chars of UUID} | |
| Example: "2026-06-20_153045_fc1f" for job_id "fc1f461f-a0b0-4396-..." | |
| Why this format? | |
| - Date + time prefix makes folders sort chronologically in any file browser. | |
| - 4-char UUID suffix distinguishes same-second creations (65 536 possibilities | |
| per second — negligible collision risk for a single-user local tool). | |
| - job_id[:4] is always hex because UUIDs start with hex digits before the | |
| first dash (e.g. "fc1f" from "fc1f461f-..."). | |
| Recomputing from immutable inputs | |
| ---------------------------------- | |
| Both job_id and created_at are fixed at job-creation time and never change, | |
| so calling this function again later (e.g. in generate.py) always yields | |
| the identical string — no need to store the folder name separately. | |
| """ | |
| return f"{created_at:%Y-%m-%d}_{created_at:%H%M%S}_{job_id[:4]}" | |