# organizer.py # Funções para categorizar ficheiros e criar estrutura de destino from pathlib import Path from datetime import date, datetime import time def categorizar_por_tipo(ficheiro: str) -> str: """ Devolve o tipo de ficheiro (imagem, documento, vídeo, etc) com base na extensão. """ # TODO: extensões configuraveis externamente pelo utilizador extensao = Path(ficheiro).suffix.lower() if extensao in ['.jpeg', '.jpg', '.bmp', '.cr2', '.raw']: return 'imagem' elif extensao in ['.pdf', '.doc', '.docx', '.xls', '.xlsx']: return 'documento' elif extensao in ['.mp4', '.mpeg', '.mov']: return 'video' else: return 'outros' def obter_data_ficheiro(ficheiro: str, usar_criacao: bool = False) -> datetime: """ Devolve a data de modificação ou criação do ficheiro. """ stats_ficheiro = Path(ficheiro).stat() timestamp = stats_ficheiro.st_ctime if usar_criacao else stats_ficheiro.st_mtime return datetime.fromtimestamp(timestamp) def criar_pasta_destino(base_destino, categoria, data=None): """ Cria a pasta de destino apropriada, se não existir. """ pass