Repositório com funções globais utilizadas em projetos com Python, focado em automações com Selenium.
Project description
utils-global
Repositório com funções globais utilizadas em projetos com Python, focado em automações com Selenium.
Sobre o Projeto
Esta biblioteca contém funções utilitárias para automações usando Selenium, com foco em:
- Gerenciamento de downloads de arquivos
- Verificação de arquivos em uso
- Renomeação segura de arquivos
- Tratamento de erros estruturado
- Interação com iframes em páginas complexas
- Envio de notificações para o Microsoft Teams
Módulos Principais
- download_utils: Gerenciamento de downloads e tratamento de erros
- selenium_utils: Utilitários para interação com iframes no Selenium
- notificacao_utils: Envio de notificações para o Microsoft Teams
- mover_arquivo_utils: Movimentação de arquivos entre diretórios com opções avançadas
Para mais detalhes sobre cada módulo, clique nos links acima para acessar a documentação específica.
Instalação
pip install utils-global
poetry add utils-global
Atualização:
pip install --upgrade utils-global
poetry add utils-global
Em modo de desenvolvimento (edição local):
# Clone o repositório
git clone https://github.com/gabrielpelizzari/utils-global.git
cd utils-global
# Instale em modo editável
pip install -e .
poetry add -e .
Exemplos Rápidos
Processamento de Downloads
from automacao_utils import processar_download
# Download de um arquivo
caminho_arquivo = processar_download(
sb=sb, # instância do SeleniumBase
dir_download="C:/Downloads",
btn_download="#botao_download",
nome_arquivo="relatorio_mensal"
)
Verificação de Arquivos em Uso
from automacao_utils import is_file_in_use, wait_for_file_access
# Verificar se arquivo está em uso
if is_file_in_use("C:/Downloads/arquivo.pdf"):
print("O arquivo está sendo usado por outro processo")
# Aguardar liberação do arquivo
wait_for_file_access("C:/Downloads/arquivo.pdf", max_retries=30)
Movimentação de Arquivos
from automacao_utils import mover_arquivo
# Mover um arquivo para outro diretório
arquivos_movidos = mover_arquivo(
diretorio_origem="C:/Downloads/documento.pdf",
diretorio_destino="C:/Documentos/Importantes"
)
# Mover todos os arquivos de um diretório (com renomeação automática se já existirem)
arquivos_movidos = mover_arquivo(
diretorio_origem="C:/Downloads/Relatórios",
diretorio_destino="C:/Trabalho/Relatórios",
substituir=False
)
Dependências
- seleniumbase: Para automação web
- watchdog: Para monitoramento de arquivos
- psutil: Para gerenciamento de processos
- requests: Para verificação de versões
Contribuição
Para contribuir com este projeto:
- Faça um fork do repositório
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Faça commit das mudanças (
git commit -m 'Adiciona nova funcionalidade') - Faça push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
Autores
- Gabriel Pelizzari
- Gedean Zitkoski
Histórico de Versões
Novidades na versão 1.8.2 - 1.8.5
- Publicado no PyPi
- Agora o projeto pode ser instalado usando o comando: pip install utils-global ou poetry add utils-global
- Ajustado a documentação para refletir as mudanças
Novidades na Versão 1.8.1
- Ajustado para que a função processar_download o parâmetro de renomear: 'nome_arquivo' seja opcional
- Pequenos ajustes na função garantir_iframe para melhorar a robustez
Novidades na Versão 1.8
- Adicionado parâmetro
btn_download_jspara permitir o uso de JavaScript para clicar no botão de download
Novidades na Versão 1.7
- Adicionado suporte para renomear arquivos com extensão e tratamento de erros ao renomear arquivos com pontos antes da extensão
Novidades na Versão 1.6
- Adicionado módulo
mover_arquivo_utilspara movimentação de arquivos entre diretórios com opções avançadas - Documentação detalhada do novo módulo com exemplos de uso
Novidades na Versão 1.5
- Adicionado módulo
selenium_utilscom funçãogarantir_iframepara facilitar a interação com iframes - Adicionado módulo
notificacao_utilspara envio de mensagens ao Microsoft Teams - Aprimorado o gerenciamento de versão no pacote
- Melhorias na documentação com arquivos específicos para cada módulo
Novidades na Versão 1.4
- Adicionado sistema automático de verificação de novas versões
- A biblioteca agora notifica o usuário quando há uma nova versão disponível
- Incluída função manual para verificar atualizações
- Adicionados tratamentos try/except em mais pontos para melhorar a robustez
Novidades na Versão 1.3
- Melhorado tratamento de erros com suporte para múltiplos seletores
- Adicionado atributo
elemento_visivelna classeDownloadErroExceptionpara identificar qual seletor específico foi encontrado - Simplificada a API para permitir uso de string única ou lista de seletores
- Adicionados tratamentos try/except para captura do texto de elementos de erro
- Atualizada a documentação e exemplos de uso
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file utils_global-1.8.6.tar.gz.
File metadata
- Download URL: utils_global-1.8.6.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21807155dac149efe0159015d794e8c9b455f94a1d23caf1c9689e7b676fe3a1
|
|
| MD5 |
22ef42ddf37bc2a74119e8fd2bebe5d0
|
|
| BLAKE2b-256 |
e7aaa4815e14cb30b6352b6644c2cfb960f7eceedb7b0636bb64c6f5b65f0376
|
File details
Details for the file utils_global-1.8.6-py3-none-any.whl.
File metadata
- Download URL: utils_global-1.8.6-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ffd708ad3ccd0cbc5e54998eeda935c2e420c3f2b9fd207a5e76dcd9a103d09
|
|
| MD5 |
dc40cbd004a47b436bb05462871ecfd4
|
|
| BLAKE2b-256 |
eda348b62ea6ef06202c28cb9da2e4ce4f617f7b85fe03ec25536866e6e1531b
|