ai-station/.venv/lib/python3.12/site-packages/textual/_files.py

29 lines
1002 B
Python
Raw Normal View History

2025-12-25 14:54:33 +00:00
from __future__ import annotations
from datetime import datetime
def generate_datetime_filename(
prefix: str, suffix: str, datetime_format: str | None = None
) -> str:
"""Generate a filename which includes the current date and time.
Useful for ensuring a degree of uniqueness when saving files.
Args:
prefix: Prefix to attach to the start of the filename, before the timestamp string.
suffix: Suffix to attach to the end of the filename, after the timestamp string.
This should include the file extension.
datetime_format: The format of the datetime to include in the filename.
If None, the ISO format will be used.
"""
if datetime_format is None:
dt = datetime.now().isoformat()
else:
dt = datetime.now().strftime(datetime_format)
file_name_stem = f"{prefix} {dt}"
for reserved in ' <>:"/\\|?*.':
file_name_stem = file_name_stem.replace(reserved, "_")
return file_name_stem + suffix