Spaces:
Runtime error
Runtime error
from pathlib import Path | |
from tempfile import mkdtemp, mkstemp | |
from threading import Lock | |
from urllib.parse import ParseResult | |
from fastapi import Request | |
class TempFile: | |
path = Path(mkdtemp()) | |
path_depth = 3 | |
name_length = 16 | |
_lock = Lock() | |
def create(cls, ext: str = ".tmp"): | |
descriptor, str_path = mkstemp(suffix=ext, dir=str(cls.path)) | |
return descriptor, Path(str_path) | |
def to_url(cls, request: Request, path: Path) -> str: | |
assert cls.path | |
return ParseResult( | |
scheme=request.url.scheme, | |
netloc=request.url.netloc, | |
path=f"/temp/{path.relative_to(cls.path)}", | |
params="", | |
query="", | |
fragment="", | |
).geturl() | |