diff --git a/src/ahriman/core/archive/archive_tree.py b/src/ahriman/core/archive/archive_tree.py index f4ec810c..117b51ce 100644 --- a/src/ahriman/core/archive/archive_tree.py +++ b/src/ahriman/core/archive/archive_tree.py @@ -97,8 +97,9 @@ class ArchiveTree(LazyLogging): parents = [repository] + list(repository.parents[:-1]) for parent in parents: path = root / parent - if not list(path.iterdir()): - path.rmdir() + if list(path.iterdir()): + continue # directory is not empty + path.rmdir() def repository_for(self, date: datetime.date | None = None) -> Path: """ diff --git a/src/ahriman/models/repository_paths.py b/src/ahriman/models/repository_paths.py index b3029ee7..f723a58c 100644 --- a/src/ahriman/models/repository_paths.py +++ b/src/ahriman/models/repository_paths.py @@ -26,16 +26,12 @@ from dataclasses import dataclass, field from functools import cached_property from pathlib import Path from pwd import getpwuid -from typing import ParamSpec from ahriman.core.log import LazyLogging from ahriman.core.utils import owner from ahriman.models.repository_id import RepositoryId -Params = ParamSpec("Params") - - @dataclass(frozen=True) class RepositoryPaths(LazyLogging): """