2023-03-01 20:58:28 +01:00
|
|
|
import logging
|
|
|
|
import mimetypes
|
2022-07-17 12:54:14 +02:00
|
|
|
from datetime import datetime
|
2023-03-01 20:58:28 +01:00
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
here = Path(__file__).parent
|
2022-07-17 12:54:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
def seconds_between(base: datetime, target: datetime) -> float:
|
|
|
|
"""
|
|
|
|
Get seconds between base and target datetime.
|
|
|
|
|
|
|
|
Return 0 if target is older than base.
|
|
|
|
"""
|
|
|
|
return max(0, (target - base).total_seconds())
|
2023-03-01 20:58:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
mimetypes.init([str(here / "mime.types")])
|
|
|
|
|
|
|
|
|
|
|
|
def mime_guess_extension(mime: str) -> str:
|
|
|
|
extension = mimetypes.guess_extension(mime, strict=False)
|
|
|
|
if extension is None:
|
|
|
|
logger.warning("could not determine file extension from mime: %s", mime)
|
|
|
|
return ""
|
|
|
|
return extension
|