Diffuser la qualité des dalles dans l'inventaire et la conserver sur la carte légère
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@ -305,6 +305,30 @@ def _remote_payload(force=False):
|
||||
return payload
|
||||
|
||||
|
||||
_SAFE_BASENAME = re.compile(r"^[A-Za-z0-9_.-]+$")
|
||||
|
||||
|
||||
def _persist_remote_quality(output_dir, payload):
|
||||
"""Recopie la table qualité amont en sidecars locaux.
|
||||
|
||||
L'encart qualité de l'export PDF lit toujours le disque local : la
|
||||
carte autonome (amont éteint) garde ainsi les dernières valeurs connues.
|
||||
Returns: nombre de sidecars (ré)écrits.
|
||||
"""
|
||||
from .quality import QUALITY_VERSION, write_quality
|
||||
written = 0
|
||||
for base, data in (payload.get("quality") or {}).items():
|
||||
if (not isinstance(base, str) or not _SAFE_BASENAME.match(base)
|
||||
or base.startswith(".") or not isinstance(data, dict)
|
||||
or data.get("version") != QUALITY_VERSION):
|
||||
continue
|
||||
try:
|
||||
written += bool(write_quality(output_dir, base, data))
|
||||
except OSError as e:
|
||||
logger.debug(f"Sidecar qualité non recopié ({base}) : {e}")
|
||||
return written
|
||||
|
||||
|
||||
def _remote_index(output_dir, force=False):
|
||||
"""Inventaire construit depuis l'amont : sources non encore rapatriées.
|
||||
|
||||
@ -320,6 +344,7 @@ def _remote_index(output_dir, force=False):
|
||||
and _remote_cache.get("built") is payload):
|
||||
return _remote_cache["index"]
|
||||
output_dir = Path(output_dir)
|
||||
_persist_remote_quality(output_dir, payload)
|
||||
layers = {}
|
||||
for entry in payload["tiles"]:
|
||||
col, row = entry.get("col"), entry.get("row")
|
||||
|
||||
Reference in New Issue
Block a user