/
indance85
/
Metadate_clear
Обзор
Документация
Войти
/
indance85
/
Metadate_clear
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
cli.py
48 строк
2 KB
Aleksandr
Добавить Metadate Clear: GUI, очистка метаданных и переименование.
29 май 2026, 13:07
29 май 2026, 13:07
dc6a588
Код
Авторство
О чём код?
#!/usr/bin/env python3 """Консольный запуск: python cli.py "D:\\Photos\\Vacation" """ from __future__ import annotations import argparse import sys from pathlib import Path from metadate_clear.processor import ProcessOptions, process_roots def main() -> int: parser = argparse.ArgumentParser( description="Metadate Clear — переименование и удаление метаданных фото/видео", ) parser.add_argument("folders", nargs="+", help="Пути к папкам") parser.add_argument("--dry-run", action="store_true", help="Пробный прогон") parser.add_argument("--no-strip", action="store_true", help="Не удалять метаданные") parser.add_argument("--no-rename", action="store_true", help="Не переименовывать") parser.add_argument("--exiftool", help="Путь к exiftool") parser.add_argument("--ffmpeg", help="Путь к ffmpeg") args = parser.parse_args() roots = [Path(p) for p in args.folders] options = ProcessOptions( dry_run=args.dry_run, strip_metadata=not args.no_strip, rename_files=not args.no_rename, exiftool_path=args.exiftool, ffmpeg_path=args.ffmpeg, ) def log(msg: str) -> None: print(msg) result = process_roots(roots, options, log=log) print( f"\nИтого: папок {result.folders_processed}, файлов {result.files_processed}, " f"переименовано {result.files_renamed}, ошибок {len(result.errors)}" ) for err in result.errors: print(f"ОШИБКА: {err}") return 1 if result.errors else 0 if __name__ == "__main__": sys.exit(main())