Skip to main content

Um pacote utilitário para localizar e gerenciar arquivos com base em padrões de nome e data de modificação

Project description

File Finder Utility

Uma utilitário Python para encontrar e gerenciar arquivos baseado em padrões de nome e data de modificação.

Descrição

Este pacote fornece funções para busca inteligente de arquivos em diretórios, permitindo localizar o arquivo mais recente que corresponda a um padrão específico no nome.

Instalação

Clone o repositório

git clone https://github.com/phadias/file-finder-utility.git
cd file-finder-utility

Ou instale diretamente via pip

pip install file-finder-utility

Exemplos Práticos

import os
from file_finder import check_last_file

# Encontrar o último backup
backup_path = check_last_file('/var/backups', 'system_backup')

# Encontrar o último relatório gerado
relatorio_path = check_last_file('./relatorios', 'vendas')

# Trabalhar com o arquivo retornado
if backup_path.exists():
    print(f"Último backup: {backup_path.name}")
    print(f"Tamanho: {backup_path.stat().st_size} bytes")

API Reference

check_last_file(path_file: str, ref: str) -> Path

Encontra o arquivo mais recente em um diretório que contenha a referência especificada.

Parâmetros:

  • path_file (str): Caminho do diretório onde será realizada a busca

  • ref (str): String de referência que deve estar contida no nome dos arquivos

Retorna:

  • Path: Objeto Path do arquivo mais recente que contém a referência

Raises:

ValueError: Se nenhum arquivo for encontrado com a referência especificada

FileNotFoundError: Se o diretório especificado não existir

Exemplos de Casos de Uso

  1. Monitoramento de Backups
def verificar_ultimo_backup():
    try:
        ultimo_backup = check_last_file('/backups', 'database')
        print(f"Último backup encontrado: {ultimo_backup}")
        return ultimo_backup
    except ValueError:
        print("Nenhum backup encontrado!")
        return None
  1. Processamento de Relatórios
    def processar_relatorio_mais_recente():
        relatorio = check_last_file('./relatorios', 'vendas_diarias')
        # Processar o relatório mais recente
        with open(relatorio, 'r') as file:
            dados = file.read()
            # ... processamento dos dados
  1. Limpeza de Arquivos Temporários
def manter_apenas_ultimo_arquivo():
    arquivos = list(Path('./temp').glob('*log*'))
    if len(arquivos) > 1:
        mais_recente = check_last_file('./temp', 'log')
        for arquivo in arquivos:
            if arquivo != mais_recente:
                arquivo.unlink()  # Remove arquivos antigos

Requisitos

  • Python 3.7+
  • pathlib (incluído na biblioteca padrão do Python)
  • os (incluído na biblioteca padrão do Python)

Estrutura do Projeto

file-finder-utility/
└── file_finder/
│   ├── __init__.py
│   └── core.py
├── LICENSE
├── requirements.txt
├── setup.py
└── README.md

Desenvolvimento

# Clonar e configurar
git clone https://github.com/seu-usuario/file-finder-utility.git
cd file-finder-utility

# Criar ambiente virtual
python -m venv venv
source venv/bin/activate  # Linux/Mac
# ou
venv\Scripts\activate  # Windows

# Instalar dependências de desenvolvimento
pip install -r requirements.txt

Dicas de Uso

  • A busca é case-sensitive (diferencia maiúsculas de minúsculas)

  • Use * curingas no parâmetro ref para buscas mais flexíveis

  • A função considera a data de modificação do arquivo, não a data de criação

Changelog

v0.0.1

  • Funcionalidade inicial: check_last_file

  • Suporte para busca por padrões em nomes de arquivos

  • Retorno do arquivo mais recente baseado na data de modificação

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo para detalhes: License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

file_finder_utility-0.0.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

file_finder_utility-0.0.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file file_finder_utility-0.0.1.tar.gz.

File metadata

  • Download URL: file_finder_utility-0.0.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for file_finder_utility-0.0.1.tar.gz
Algorithm Hash digest
SHA256 aa3b325036a88294396e4620a7cc6d9eee3637fc78e041e1bf2ba733cef1cf38
MD5 acf08c76a7d1f902d7ff63771af06d64
BLAKE2b-256 852dfd7e662902da11e45000c76d416cc74a951f76d83eda119feba4a88736d0

See more details on using hashes here.

File details

Details for the file file_finder_utility-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for file_finder_utility-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 401abe1ca27c97b7ed9b7af417661b975e1a3aaa46897ee8893025588326b269
MD5 2a36b23f6a086aab1da6a1670c6168f4
BLAKE2b-256 7a07d32cfd4e2269e0aa14e7524fd0c42f7f4d9e7c96ed02b9b35dd4054a7228

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page