mirror of
https://github.com/Garmelon/PFERD.git
synced 2023-12-21 10:23:01 +01:00
Switch Transform to PurePath
This commit is contained in:
parent
5ef5a56e69
commit
1ef85c45e5
@ -6,7 +6,7 @@ A organizer is bound to a single directory.
|
|||||||
import filecmp
|
import filecmp
|
||||||
import logging
|
import logging
|
||||||
import shutil
|
import shutil
|
||||||
from pathlib import Path
|
from pathlib import Path, PurePath
|
||||||
from typing import List, Set
|
from typing import List, Set
|
||||||
|
|
||||||
from .location import Location
|
from .location import Location
|
||||||
@ -31,7 +31,7 @@ class Organizer(Location):
|
|||||||
# Keep the root dir
|
# Keep the root dir
|
||||||
self.mark(path)
|
self.mark(path)
|
||||||
|
|
||||||
def accept_file(self, src: Path, dst: Path) -> None:
|
def accept_file(self, src: Path, dst: PurePath) -> None:
|
||||||
"""Move a file to this organizer and mark it."""
|
"""Move a file to this organizer and mark it."""
|
||||||
src_absolute = src.resolve()
|
src_absolute = src.resolve()
|
||||||
dst_absolute = self.resolve(dst)
|
dst_absolute = self.resolve(dst)
|
||||||
@ -73,9 +73,9 @@ class Organizer(Location):
|
|||||||
|
|
||||||
self.mark(dst)
|
self.mark(dst)
|
||||||
|
|
||||||
def mark(self, path: Path) -> None:
|
def mark(self, path: PurePath) -> None:
|
||||||
"""Mark a file as used so it will not get cleaned up."""
|
"""Mark a file as used so it will not get cleaned up."""
|
||||||
absolute_path = self.path.joinpath(path).resolve()
|
absolute_path = self.resolve(path)
|
||||||
self._known_files.add(absolute_path)
|
self._known_files.add(absolute_path)
|
||||||
LOGGER.debug("Tracked %s", absolute_path)
|
LOGGER.debug("Tracked %s", absolute_path)
|
||||||
|
|
||||||
|
@ -6,11 +6,10 @@ scheme to another.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from pathlib import Path
|
from pathlib import PurePath
|
||||||
from typing import Callable, List, Optional, TypeVar
|
from typing import Callable, List, Optional, TypeVar
|
||||||
|
|
||||||
|
Transform = Callable[[PurePath], Optional[PurePath]]
|
||||||
Transform = Callable[[Path], Optional[Path]]
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -19,14 +18,14 @@ class Transformable:
|
|||||||
An object that can be transformed by a Transform.
|
An object that can be transformed by a Transform.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
path: Path
|
path: PurePath
|
||||||
|
|
||||||
|
|
||||||
TF = TypeVar("TF", bound=Transformable)
|
TF = TypeVar("TF", bound=Transformable)
|
||||||
|
|
||||||
|
|
||||||
def apply_transform(
|
def apply_transform(
|
||||||
transform: Callable[[Path], Optional[Path]],
|
transform: Transform,
|
||||||
transformables: List[TF],
|
transformables: List[TF],
|
||||||
) -> List[TF]:
|
) -> List[TF]:
|
||||||
"""
|
"""
|
||||||
|
@ -86,7 +86,7 @@ class PrettyLogger:
|
|||||||
def __init__(self, logger: logging.Logger) -> None:
|
def __init__(self, logger: logging.Logger) -> None:
|
||||||
self.logger = logger
|
self.logger = logger
|
||||||
|
|
||||||
def modified_file(self, file_name: Path) -> None:
|
def modified_file(self, file_name: PurePath) -> None:
|
||||||
"""
|
"""
|
||||||
An existing file has changed.
|
An existing file has changed.
|
||||||
"""
|
"""
|
||||||
@ -95,7 +95,7 @@ class PrettyLogger:
|
|||||||
f"{Fore.MAGENTA}{Style.BRIGHT}Modified {str(file_name)!r}.{Style.RESET_ALL}"
|
f"{Fore.MAGENTA}{Style.BRIGHT}Modified {str(file_name)!r}.{Style.RESET_ALL}"
|
||||||
)
|
)
|
||||||
|
|
||||||
def new_file(self, file_name: Path) -> None:
|
def new_file(self, file_name: PurePath) -> None:
|
||||||
"""
|
"""
|
||||||
A new file has been downloaded.
|
A new file has been downloaded.
|
||||||
"""
|
"""
|
||||||
@ -103,14 +103,14 @@ class PrettyLogger:
|
|||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"{Fore.GREEN}{Style.BRIGHT}Created {str(file_name)!r}.{Style.RESET_ALL}")
|
f"{Fore.GREEN}{Style.BRIGHT}Created {str(file_name)!r}.{Style.RESET_ALL}")
|
||||||
|
|
||||||
def ignored_file(self, file_name: Path) -> None:
|
def ignored_file(self, file_name: PurePath) -> None:
|
||||||
"""
|
"""
|
||||||
Nothing in particular happened to this file or directory.
|
Nothing in particular happened to this file or directory.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
self.logger.info(f"{Style.DIM}Ignored {str(file_name)!r}.{Style.RESET_ALL}")
|
self.logger.info(f"{Style.DIM}Ignored {str(file_name)!r}.{Style.RESET_ALL}")
|
||||||
|
|
||||||
def filtered_path(self, path: Path, reason: str) -> None:
|
def filtered_path(self, path: PurePath, reason: str) -> None:
|
||||||
"""
|
"""
|
||||||
A crawler filter rejected the given path.
|
A crawler filter rejected the given path.
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user