file-finder-utility


Namefile-finder-utility JSON
Version 0.0.1 PyPI version JSON
download
home_pageNone
SummaryUm pacote utilitário para localizar e gerenciar arquivos com base em padrões de nome e data de modificação
upload_time2025-10-12 18:51:42
maintainerNone
docs_urlNone
authorPablo Dias
requires_python>=3.7
licenseMIT
keywords file finder utility search filesystem path management
VCS
bugtrack_url
requirements certifi charset-normalizer docutils id idna jaraco.classes jaraco.context jaraco.functools keyring markdown-it-py mdurl more-itertools nh3 packaging Pygments pywin32-ctypes readme_renderer requests requests-toolbelt rfc3986 rich setuptools twine urllib3 wheel
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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
```bash
git clone https://github.com/phadias/file-finder-utility.git
cd file-finder-utility
```
Ou instale diretamente via pip

```bash
pip install file-finder-utility
```

## Exemplos Práticos

```bash
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

```bash
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
```
2. Processamento de Relatórios
```bash
    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
```
3. Limpeza de Arquivos Temporários
```bash
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
```text
file-finder-utility/
└── file_finder/
│   ├── __init__.py
│   └── core.py
├── LICENSE
├── requirements.txt
├── setup.py
└── README.md
```
## Desenvolvimento
```bash
# 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](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "file-finder-utility",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "file, finder, utility, search, filesystem, path, management",
    "author": "Pablo Dias",
    "author_email": "dias.pabloh@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/85/2d/fd7e662902da11e45000c76d416cc74a951f76d83eda119feba4a88736d0/file_finder_utility-0.0.1.tar.gz",
    "platform": null,
    "description": "# File Finder Utility\r\n\r\nUma utilit\u00e1rio Python para encontrar e gerenciar arquivos baseado em padr\u00f5es de nome e data de modifica\u00e7\u00e3o.\r\n\r\n## Descri\u00e7\u00e3o\r\n\r\nEste pacote fornece fun\u00e7\u00f5es para busca inteligente de arquivos em diret\u00f3rios, permitindo localizar o arquivo mais recente que corresponda a um padr\u00e3o espec\u00edfico no nome.\r\n\r\n## Instala\u00e7\u00e3o\r\n\r\nClone o reposit\u00f3rio\r\n```bash\r\ngit clone https://github.com/phadias/file-finder-utility.git\r\ncd file-finder-utility\r\n```\r\nOu instale diretamente via pip\r\n\r\n```bash\r\npip install file-finder-utility\r\n```\r\n\r\n## Exemplos Pr\u00e1ticos\r\n\r\n```bash\r\nimport os\r\nfrom file_finder import check_last_file\r\n\r\n# Encontrar o \u00faltimo backup\r\nbackup_path = check_last_file('/var/backups', 'system_backup')\r\n\r\n# Encontrar o \u00faltimo relat\u00f3rio gerado\r\nrelatorio_path = check_last_file('./relatorios', 'vendas')\r\n\r\n# Trabalhar com o arquivo retornado\r\nif backup_path.exists():\r\n    print(f\"\u00daltimo backup: {backup_path.name}\")\r\n    print(f\"Tamanho: {backup_path.stat().st_size} bytes\")\r\n\r\n```\r\n\r\n## API Reference\r\n```\r\ncheck_last_file(path_file: str, ref: str) -> Path\r\n```\r\n\r\nEncontra o arquivo mais recente em um diret\u00f3rio que contenha a refer\u00eancia especificada.\r\n\r\n## Par\u00e2metros:\r\n\r\n- path_file (str): Caminho do diret\u00f3rio onde ser\u00e1 realizada a busca\r\n\r\n- ref (str): String de refer\u00eancia que deve estar contida no nome dos arquivos\r\n\r\n## Retorna:\r\n\r\n- Path: Objeto Path do arquivo mais recente que cont\u00e9m a refer\u00eancia\r\n\r\n## Raises:\r\n\r\nValueError: Se nenhum arquivo for encontrado com a refer\u00eancia especificada\r\n\r\nFileNotFoundError: Se o diret\u00f3rio especificado n\u00e3o existir\r\n    \r\n## Exemplos de Casos de Uso\r\n1. Monitoramento de Backups\r\n\r\n```bash\r\ndef verificar_ultimo_backup():\r\n    try:\r\n        ultimo_backup = check_last_file('/backups', 'database')\r\n        print(f\"\u00daltimo backup encontrado: {ultimo_backup}\")\r\n        return ultimo_backup\r\n    except ValueError:\r\n        print(\"Nenhum backup encontrado!\")\r\n        return None\r\n```\r\n2. Processamento de Relat\u00f3rios\r\n```bash\r\n    def processar_relatorio_mais_recente():\r\n        relatorio = check_last_file('./relatorios', 'vendas_diarias')\r\n        # Processar o relat\u00f3rio mais recente\r\n        with open(relatorio, 'r') as file:\r\n            dados = file.read()\r\n            # ... processamento dos dados\r\n```\r\n3. Limpeza de Arquivos Tempor\u00e1rios\r\n```bash\r\ndef manter_apenas_ultimo_arquivo():\r\n    arquivos = list(Path('./temp').glob('*log*'))\r\n    if len(arquivos) > 1:\r\n        mais_recente = check_last_file('./temp', 'log')\r\n        for arquivo in arquivos:\r\n            if arquivo != mais_recente:\r\n                arquivo.unlink()  # Remove arquivos antigos\r\n```\r\n\r\n## Requisitos\r\n- `Python 3.7+`\r\n- `pathlib` (inclu\u00eddo na biblioteca padr\u00e3o do Python)\r\n- `os` (inclu\u00eddo na biblioteca padr\u00e3o do Python)\r\n\r\n## Estrutura do Projeto\r\n```text\r\nfile-finder-utility/\r\n\u2514\u2500\u2500 file_finder/\r\n\u2502   \u251c\u2500\u2500 __init__.py\r\n\u2502   \u2514\u2500\u2500 core.py\r\n\u251c\u2500\u2500 LICENSE\r\n\u251c\u2500\u2500 requirements.txt\r\n\u251c\u2500\u2500 setup.py\r\n\u2514\u2500\u2500 README.md\r\n```\r\n## Desenvolvimento\r\n```bash\r\n# Clonar e configurar\r\ngit clone https://github.com/seu-usuario/file-finder-utility.git\r\ncd file-finder-utility\r\n\r\n# Criar ambiente virtual\r\npython -m venv venv\r\nsource venv/bin/activate  # Linux/Mac\r\n# ou\r\nvenv\\Scripts\\activate  # Windows\r\n\r\n# Instalar depend\u00eancias de desenvolvimento\r\npip install -r requirements.txt\r\n```\r\n\r\n## Dicas de Uso\r\n- A busca \u00e9 case-sensitive (diferencia mai\u00fasculas de min\u00fasculas)\r\n\r\n- Use **`*`** curingas no par\u00e2metro `ref` para buscas mais flex\u00edveis\r\n\r\n- A fun\u00e7\u00e3o considera a data de modifica\u00e7\u00e3o do arquivo, n\u00e3o a data de cria\u00e7\u00e3o\r\n\r\n## Changelog\r\n### v0.0.1\r\n- Funcionalidade inicial: check_last_file\r\n\r\n- Suporte para busca por padr\u00f5es em nomes de arquivos\r\n\r\n- Retorno do arquivo mais recente baseado na data de modifica\u00e7\u00e3o\r\n\r\n## Licen\u00e7a\r\n\r\nEste projeto est\u00e1 licenciado sob a Licen\u00e7a MIT - veja o arquivo \r\npara detalhes:\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Um pacote utilit\u00e1rio para localizar e gerenciar arquivos com base em padr\u00f5es de nome e data de modifica\u00e7\u00e3o",
    "version": "0.0.1",
    "project_urls": {
        "Bug Reports": "https://github.com/phadias/file-finder-utility/issues",
        "Documentation": "https://github.com/phadias/file-finder-utility/wiki",
        "Source": "https://github.com/phadias/file-finder-utility"
    },
    "split_keywords": [
        "file",
        " finder",
        " utility",
        " search",
        " filesystem",
        " path",
        " management"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7a07d32cfd4e2269e0aa14e7524fd0c42f7f4d9e7c96ed02b9b35dd4054a7228",
                "md5": "2a36b23f6a086aab1da6a1670c6168f4",
                "sha256": "401abe1ca27c97b7ed9b7af417661b975e1a3aaa46897ee8893025588326b269"
            },
            "downloads": -1,
            "filename": "file_finder_utility-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2a36b23f6a086aab1da6a1670c6168f4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 5577,
            "upload_time": "2025-10-12T18:51:41",
            "upload_time_iso_8601": "2025-10-12T18:51:41.243494Z",
            "url": "https://files.pythonhosted.org/packages/7a/07/d32cfd4e2269e0aa14e7524fd0c42f7f4d9e7c96ed02b9b35dd4054a7228/file_finder_utility-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "852dfd7e662902da11e45000c76d416cc74a951f76d83eda119feba4a88736d0",
                "md5": "acf08c76a7d1f902d7ff63771af06d64",
                "sha256": "aa3b325036a88294396e4620a7cc6d9eee3637fc78e041e1bf2ba733cef1cf38"
            },
            "downloads": -1,
            "filename": "file_finder_utility-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "acf08c76a7d1f902d7ff63771af06d64",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5358,
            "upload_time": "2025-10-12T18:51:42",
            "upload_time_iso_8601": "2025-10-12T18:51:42.391422Z",
            "url": "https://files.pythonhosted.org/packages/85/2d/fd7e662902da11e45000c76d416cc74a951f76d83eda119feba4a88736d0/file_finder_utility-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-12 18:51:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "phadias",
    "github_project": "file-finder-utility",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2025.10.5"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.3"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.22.2"
                ]
            ]
        },
        {
            "name": "id",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.11"
                ]
            ]
        },
        {
            "name": "jaraco.classes",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco.context",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "jaraco.functools",
            "specs": [
                [
                    "==",
                    "4.3.0"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "25.6.0"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.8.0"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    "==",
                    "0.3.1"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "25.0"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.19.2"
                ]
            ]
        },
        {
            "name": "pywin32-ctypes",
            "specs": [
                [
                    "==",
                    "0.2.3"
                ]
            ]
        },
        {
            "name": "readme_renderer",
            "specs": [
                [
                    "==",
                    "44.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.5"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "14.2.0"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "80.9.0"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "6.2.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    "==",
                    "0.45.1"
                ]
            ]
        }
    ],
    "lcname": "file-finder-utility"
}
        
Elapsed time: 1.84064s