30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
"""
|
|
Versão dos arquivos estáticos (CSS/JS) usada como cache-busting nos links
|
|
de app/templates/base.html (?v=...). Sem isso, um navegador que já tinha
|
|
carregado /static/estilo.css antes de um deploy pode continuar servindo a
|
|
cópia antiga em cache — a URL não muda, então não há sinal pro navegador
|
|
buscar de novo — mesmo numa aba anônima aberta antes do deploy terminar.
|
|
|
|
Calculada uma única vez, na inicialização do processo, a partir do mtime
|
|
mais recente entre os arquivos em app/static/. Cada novo deploy recria o
|
|
container com os arquivos atualizados (mtime novo), então o valor muda
|
|
sozinho a cada implantação, sem precisar editar nada aqui.
|
|
"""
|
|
import os
|
|
|
|
_DIR_STATIC = os.path.join(os.path.dirname(__file__), "static")
|
|
|
|
|
|
def _calcular_versao() -> str:
|
|
arquivos = [
|
|
os.path.join(_DIR_STATIC, nome)
|
|
for nome in os.listdir(_DIR_STATIC)
|
|
if os.path.isfile(os.path.join(_DIR_STATIC, nome))
|
|
]
|
|
if not arquivos:
|
|
return "0"
|
|
return str(int(max(os.path.getmtime(caminho) for caminho in arquivos)))
|
|
|
|
|
|
ASSET_VERSAO = _calcular_versao()
|