Какие бэкапы оставить по схеме «дневные плюс недельные»
Бэкапы делаются не чаще раза в день. Политика хранения: последние keep_daily бэкапов и по одному бэкапу на каждую из последних keep_weekly недель.
Напишите backups_to_keep(dates, keep_daily, keep_weekly).
dates— список дат бэкапов строками"ГГГГ-ММ-ДД", в произвольном порядке, без повторов.- Дневные: сохраняются
keep_dailyсамых свежих бэкапов. - Недельные: бэкапы группируются по ISO-неделе — паре (ISO-год, номер недели) из
date.isocalendar(). Берутсяkeep_weeklyсамых свежих недель, в которых есть бэкапы, и в каждой сохраняется самый свежий бэкап этой недели. - Верните отсортированный по возрастанию список дат, которые сохраняются хотя бы по одному правилу. Для пустого
dates— пустой список.
заготовка решения
def backups_to_keep(dates, keep_daily, keep_weekly):
# ваш код
return None