diff --git a/.gitignore b/.gitignore
index a2fe8ee..0c0d765 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,5 @@ ad.txt
__pycache__
bot.log*
*.pyc
-*.lock
\ No newline at end of file
+*.lock
+.idea
\ No newline at end of file
diff --git a/check_update.py b/check_update.py
index 0c69f2f..479f158 100644
--- a/check_update.py
+++ b/check_update.py
@@ -4,6 +4,9 @@
from misc import check_type
import apicorreios as correios
import apitrackingmore as trackingmore
+from numpy import busday_count
+import holidays
+
def check_update(code, max_retries=3):
# print('check_update')
@@ -41,14 +44,23 @@ def check_update(code, max_retries=3):
ano1 = int(evento['data'].split('/')[2])
data1 = date(ano1, mes1, dia1)
delta = data1 - data0
+ dias_uteis = busday_count(data0, data1)
+ todos_feriados = holidays.BR()
+ # feriados TODO: adicionar feriados estaduais
+ feriados_entre_datas = todos_feriados[data0:data1]
+ feriados_uteis = 0
+ for f in feriados_entre_datas:
+ feriados_uteis += 1 if f.weekday() < 5 else 0
+ dias_uteis -= feriados_uteis
except Exception:
delta = 0
+ dias_uteis = 0
pass
- data = evento['data'] + ' ' + evento['hora']
+ data = f'{evento["data"]} {evento["hora"]}'
if delta.days == 1:
- data = data + ' (' + str(delta.days) + ' dia)'
+ data += f' ({delta.days} dia - {dias_uteis} útil)'
elif delta.days > 1:
- data = data + ' (' + str(delta.days) + ' dias)'
+ data += f' ({delta.days} dias - {dias_uteis} úteis)'
try:
local = evento['unidade']['local']
except Exception:
@@ -57,10 +69,10 @@ def check_update(code, max_retries=3):
if 'endereço indicado' in evento['descricao']:
try:
situacao = (
- situacao + '\n' +
- evento['unidade']['endereco']['numero'] + ' ' +
- evento['unidade']['endereco']['logradouro'] + '\n' +
- evento['unidade']['endereco']['bairro'] + ''
+ situacao + '\n' +
+ evento['unidade']['endereco']['numero'] + ' ' +
+ evento['unidade']['endereco']['logradouro'] + '\n' +
+ evento['unidade']['endereco']['bairro'] + ''
)
except Exception:
pass
@@ -73,8 +85,8 @@ def check_update(code, max_retries=3):
mensagem = mensagem + '\nLocal: ' + local.strip().title()
if situacao:
mensagem = (
- mensagem + '\nSituação: ' +
- situacao.strip() + ''
+ mensagem + '\nSituação: ' +
+ situacao.strip() + ''
)
if 'objeto entregue ao' in situacao.lower():
mensagem = mensagem + ' ' + str(u'\U0001F381')
@@ -96,12 +108,12 @@ def check_update(code, max_retries=3):
mensagem = mensagem + ' ' + str(u'\U0001F4B8')
elif 'aduaneira finalizada' in situacao.lower():
mensagem = (mensagem + '\nAcesse o ambiente ' +
- 'Minhas Importações')
+ 'Minhas Importações')
elif 'aguardando pagamento' in situacao.lower():
- mensagem = (mensagem + ' ' + str(u'\U0001F52B') +
- '\nLinks para efetuar pagamentos aos Correios:' +
- '\nRastreamento' +
- '\nPortal Importador')
+ mensagem = (mensagem + ' ' + str(u'\U0001F52B') +
+ '\nLinks para efetuar pagamentos aos Correios:' +
+ '\nRastreamento' +
+ '\nPortal Importador')
elif 'liberado sem' in situacao.lower():
mensagem = mensagem + ' ' + str(u'\U0001F389')
if observacao:
@@ -109,7 +121,7 @@ def check_update(code, max_retries=3):
if 'liberado sem' in observacao.lower():
mensagem = mensagem + ' ' + str(u'\U0001F389')
elif 'pagamento' in observacao.lower():
- mensagem = (mensagem +
- '\nhttps://www2.correios.com.br/sistemas/rastreamento/')
+ mensagem = (mensagem +
+ '\nhttps://www2.correios.com.br/sistemas/rastreamento/')
stats.append(mensagem)
return stats
diff --git a/requirements.txt b/requirements.txt
index 1552515..9b87151 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,3 +4,4 @@ pyTelegramBotAPI==3.*
pytest==5.*
requests==2.*
sentry-sdk==0.*
+holidays==0.*