Garder un doublon de voisine si sa taille diffère de la copie d'input/
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@ -533,7 +533,9 @@ class LidarArchaeoPipeline:
|
||||
voisines) ; l'exemplaire d'input/ fait foi (_neighbor_laz_files
|
||||
cherche dans input/ avant edge_neighbors/), le doublon ne sert donc
|
||||
à rien et peut peser plusieurs centaines de Mo. Les fichiers ".part"
|
||||
(téléchargement en cours) ne sont jamais touchés.
|
||||
(téléchargement en cours) ne sont jamais touchés, et un doublon de
|
||||
taille différente est conservé (l'exemplaire d'input/ pourrait être
|
||||
tronqué : on ne supprime jamais ce qui serait la seule copie saine).
|
||||
"""
|
||||
from .dtm import EDGE_NEIGHBORS_DIRNAME
|
||||
if not edge_dir.is_dir():
|
||||
@ -541,16 +543,23 @@ class LidarArchaeoPipeline:
|
||||
removed = 0
|
||||
freed = 0
|
||||
for path in edge_dir.iterdir():
|
||||
if not path.is_file() or path.suffix == ".part" or path.name.endswith(".part"):
|
||||
if not path.is_file() or path.suffix == ".part":
|
||||
continue
|
||||
twin = self.input_dir / path.name
|
||||
if twin.exists():
|
||||
try:
|
||||
freed += path.stat().st_size
|
||||
path.unlink()
|
||||
removed += 1
|
||||
except OSError:
|
||||
pass
|
||||
if not twin.exists():
|
||||
continue
|
||||
try:
|
||||
size = path.stat().st_size
|
||||
if twin.stat().st_size != size:
|
||||
logger.warning(f"Raccord des bords : {path.name} présent dans input/ "
|
||||
f"et {EDGE_NEIGHBORS_DIRNAME}/ avec des tailles "
|
||||
f"différentes — doublon conservé")
|
||||
continue
|
||||
path.unlink()
|
||||
freed += size
|
||||
removed += 1
|
||||
except OSError:
|
||||
pass
|
||||
if removed:
|
||||
logger.info(f"Raccord des bords : {removed} doublon(s) supprimé(s) de "
|
||||
f"{EDGE_NEIGHBORS_DIRNAME}/ (déjà dans input/, "
|
||||
|
||||
Reference in New Issue
Block a user