generated from frankjuniorr/template-repository
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
109 lines (79 loc) · 3.63 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# ##############################################################################
# [Descrição]:
# Script que cria um arquivo de calendário (.ics) com todos os feriados do ano corrente (baseado nos feriados de Recife-PE).
# Uma vez o arquivo gerado, importe manualmente no seu Google Calendar
# OBS: Ele só adiciona os feriados que não caem no sábado ou domingo.
# OBS2: O script também adiciona o carnaval e Semana Santa\o/
#
# [Uso]:
# ./app.py
# ##############################################################################
import controller
# ============================================
# Função que adiciona todos os feriados que tem data dinâmica
# ============================================
def dinamic_holidays(year):
pascoa_date = controller.calculate_pascoa(year)
# Adicionando o Carnaval
carnaval_event = controller.add_carnaval(pascoa_date)
# Adicionando a Semana Santa
semana_santa_event = controller.add_semana_santa(pascoa_date)
holidays_list.append(carnaval_event)
holidays_list.append(semana_santa_event)
# ============================================
# Função que adiciona todos os feriados que tem data fixa.
# ============================================
def static_holidays(year):
static_holidays_list = []
# 1 de Janeiro
static_holidays_list.append({"month": 1, "day": 1, "summary": "Ano Novo"})
# 6 de Março
static_holidays_list.append({"month": 3, "day": 6, "summary": "Carta Magna"})
# 21 de Abril
static_holidays_list.append({"month": 4, "day": 21, "summary": "Tiradentes"})
# 1 de Maio
static_holidays_list.append({"month": 5, "day": 1, "summary": "day do Trabalhador"})
# 24 de Junho
static_holidays_list.append({"month": 6, "day": 24, "summary": "São João"})
# 16 de Julho
static_holidays_list.append({"month": 7, "day": 16, "summary": "Nossa Senhora do Carmo"})
# 7 de Setembro
static_holidays_list.append({"month": 9, "day": 7, "summary": "Independência do Brasil"})
# 12 de Outubro - Nossa Senhroa Aparecida
static_holidays_list.append({"month": 10, "day": 12, "summary": "dia das Crianças"})
# 2 de Novembro
static_holidays_list.append({"month": 11, "day": 2, "summary": "Finados"})
# 15 de Novembro
static_holidays_list.append({"month": 11, "day": 15,"summary": "Proclamação da República"})
# 8 de Dezembro
static_holidays_list.append({"month": 12, "day": 8,"summary": "Nossa Senhora da Conceição"})
# 25 de Dezembro
static_holidays_list.append({"month": 12, "day": 25, "summary": "Natal"})
# adicionando todos os feriados d euma vez
for index in range(len(static_holidays_list)):
month = static_holidays_list[index]["month"]
day = static_holidays_list[index]["day"]
summary = static_holidays_list[index]["summary"]
holiday_event = controller.add_holiday(year, month, day, summary)
if holiday_event != None:
holidays_list.append(holiday_event)
# ============================================
# Função Main
# ============================================
def main():
print("Buildind holidays")
year = controller.get_year()
# ================ Feriados Dinâmicos ================
dinamic_holidays(year)
# ================ Feriados Estáticos ================
static_holidays(year)
events_list = controller.create_events_list(holidays_list)
calendar = controller.create_calendar(events_list)
print("Saving .ics file")
controller.save_file(calendar)
print("Sendind Email")
total_holidays = len(holidays_list)
controller.send_email(total_holidays)
if __name__ == '__main__':
holidays_list = []
main()