Bonjour,
J’ai deux questions concernant le fonctionnement du plugin …
-
1 Pourquoi les captures/films sont-elles stockées dans le répertoire définis dans la config mais que par contre les snapshots sont stockés dans le répertoire temporaire ? ligne 828 => jeedom::getTmpFolder(‹ camera ›)
-
2 en phase de nettoyage :
on teste pleins de choses (existences, droits etc), on fait plein de motifs (création,droits) pour au final faire un "sudo rm -rf …)
public function removeAllSnapshot() {
$output_dir = calculPath(config::byKey('recordDir', 'camera'));
if (!file_exists($output_dir)) {
if (!mkdir($output_dir, 0740, true)) {
throw new Exception(__('Impossible de creer le dossier : ', __FILE__) . $output_dir);
}
}
if (!is_writable($output_dir)) {
throw new Exception(__('Impossible d\'écrire dans le dossier : ', __FILE__) . $output_dir);
}
$output_dir .= '/' . $this->getId();
if (!file_exists($output_dir)) {
if (!mkdir($output_dir, 0740, true)) {
throw new Exception(__('Impossible de creer le dossier : ', __FILE__) . $output_dir);
}
}
if (!is_writable($output_dir)) {
throw new Exception(__('Impossible d\'écrire dans le dossier : ', __FILE__) . $output_dir);
}
shell_exec(system::getCmdSudo() . 'rm -rf ' . $output_dir);
}
C’est pas plus simple de juste faire la suppression (en traitant l’exception de la non existence) ?? Par exemple
public function removeAllSnapshot() {
$output_dir = calculPath(config::byKey('recordDir', 'camera')).'/' . $this->getId();
if (file_exists($output_dir)) {
shell_exec(system::getCmdSudo() . 'rm -rf ' . $output_dir);
}
}
Sachant que ces même étapes de vérification/création sont faites dans la fonction takeSnapshot()
A vous lire