Source code for miranda.archive._selection

from __future__ import annotations

import logging
from datetime import datetime
from logging import config
from pathlib import Path

from miranda.io import find_filepaths
from miranda.io.utils import creation_date
from miranda.scripting import LOGGING_CONFIG

__all__ = ["select_by_date_modified"]

logging.config.dictConfig(LOGGING_CONFIG)


[docs] def select_by_date_modified( source: str | Path, year: int | None, month: int | None, day: int | None, *, suffixes: str = "nc", date: datetime, ) -> list[Path]: """Select files by the date on which they were last modified. Parameters ---------- source : str or Path year : int month : int day : int suffixes : str date : datetime.date Returns ------- list of Path """ if date: date_selected = date else: date_selected = datetime(year, month, day) files = find_filepaths(source, file_suffixes=suffixes) selected_files = list() for file in files: if creation_date(file) == date_selected: logging.info(f"Selecting {file}.") selected_files.append(file) return selected_files