Script de Localizador de Intervalos de Fuso Horário em Python
De Wikiprompt, a enciclopédia livre de prompts
Script de Localizador de Intervalos de Fuso Horário em Python Um script Python 3.9+ completo e autocontido usando zoneinfo para encontrar horários justos de reunião, com classificação, rotação, detecção de horário de verão, saída JSON e um autoteste integrado.
Conteúdo do PromptSalvar
🌐
#!/usr/bin/env python3
"""Encontrador de horários para reuniões em múltiplos fusos (biblioteca padrão Python 3.9+: zoneinfo).
Dados participantes com fusos IANA, dias e horários de trabalho (além de quanto cada um
está disposto a esticar antes ou depois do expediente), encontra horários em um intervalo
de datas, os classifica por justiça e pode escolher uma série rotativa para que as mesmas
pessoas não fiquem sempre com o horário mais cedo ou mais tarde. Cada horário é avaliado
no horário local de cada participante naquela data, então transições de horário de verão
dentro do intervalo (Europa e EUA mudam em fins de semana diferentes) são tratadas
automaticamente e reportadas.
Pontos de desconforto por participante e reunião: 0 dentro do expediente, 2 por hora dentro
da janela de flexibilidade ("flex") antes ou depois do trabalho, indisponível além disso,
em dias não úteis ou durante horários bloqueados. A ausência de um participante opcional
conta como 3 pontos de desconforto para ele no total da rotação.
Uso:
python3 slot_finder.py --team time.csv --start 2026-10-26 --end 2026-11-06
[--duration 60] [--step 30] [--blocked bloqueados.csv] [--days Ter,Qua,Qui]
[--ref-zone UTC] [--top 10] [--series N [--every semana|dia]] [--json]
python3 slot_finder.py --self-test
Colunas de team.csv: nome, zona, inicio_expediente, fim_expediente, dias (Seg-Sex ou Dom-Qui ou
Seg,Qua,Sex), flex_antes, flex_depois (horas, opcional), obrigatorio (sim/nao, opcional).
fim_expediente antes de inicio_expediente significa um turno que passa da meia-noite.
Colunas de bloqueados.csv: nome, data (data local do participante), inicio, fim (vazio = dia inteiro), motivo.
Codigos de saida: 0 = horarios encontrados, 1 = nenhum horario onde todos os participantes
obrigatorios podem comparecer, 2 = entrada invalida (fuso desconhecido, hora invalida,
arquivo ou coluna ausente).
"""
[Código Python completo aqui como no tweet original]
Entre para ver o prompt completo
Continuar com:
Ao entrar, você concorda com nossos Termos de uso e Política de privacidade
Uso
Este prompt foi projetado para uso com coding. Copie o conteúdo acima e cole na sua ferramenta de IA preferida.
Para melhores resultados, personalize os marcadores (indicados por colchetes ou maiúsculas) com seus requisitos específicos.
Discussão
0 comentários