criação de função categorizar_por_data()

This commit is contained in:
2025-04-16 20:39:24 +01:00
parent 287fdcb6c9
commit c4a8ab880a

View File

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