-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEvents.py
More file actions
195 lines (168 loc) · 12.9 KB
/
Events.py
File metadata and controls
195 lines (168 loc) · 12.9 KB
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
import json
from pathlib import Path
from datetime import datetime, date, time, timedelta
### este archivo solo posee los tipos eventos, todos con mismas propiedades, diferente nombre
### y valores diferentes asignados a cada propiedad.
class Events: ### Los eventos seran un tipo, con ciertos atributos y ciertas restricciones.
def __init__(self, fecha : str):
self.fecha = datetime.strptime(fecha, '%d/%m/%Y --- %H:%M')
def __dict__ (self):
Data = {'Nombre': self.name,
'Fecha inicio': datetime.strftime(self.fecha, '%d/%m/%Y --- %H:%M'),
'Fecha fin': datetime.strftime(self.Finish_date, '%d/%m/%Y --- %H:%M'),
'Recursos': self.Recursos
}
return Data
class travel_Habana(Events): ### tipo evento de viajes a la habana.
def __init__ (self, fecha : str, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a la Habana'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours= 2) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Suarez', 'Menedez'), ('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Cuando ambos se juntan, hacen destrozos por la Habana.',
'Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = [ 'Conductor','Vehiculo', 'Guia'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Gto(Events): ### tipo evento de viajes a la Gto.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Guantanamo'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours= 18) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'Juan' : 'No se le dan los viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Pedro', 'Rigoberto'), ('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['La ultima vez que estuvieron esos locos juntos, chocaron.',
'Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = [ 'Conductor','Vehiculo'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Stgo(Events): ### tipo evento de viajes a la Stgo de Cuba.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Santiago de Cuba'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 15) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'Juan' : 'No se le dan los viajes largos.', ### No pueden usarse para este evento.
'camion1': 'Las rutas se encuentran en muy mal estado, y este camion ya esta un poco antiguo'}
self.Restriction_recursos_pares = [('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo', 'Guia'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Camaguey(Events): ### tipo evento de viajes a Camaguey.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Camaguey'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 12) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'Juan' : 'No se le dan los viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Rigoberto', 'Transtur1'), ('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Ese maneja como quiera y la Transtur es muy preciada como para dejarsela en ese viaje.',
'Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Las_Tunas(Events): ### tipo evento de viajes a Las Tunas.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Las Tunas'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 13) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'Juan' : 'No se le dan los viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Rigoberto', 'Transtur1'), ('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Ese maneja como quiera y la Transtur es muy preciada como para dejarsela en ese viaje.',
'Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.' ] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Las_Villas(Events): ### tipo evento de viajes a Las Villas.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Las Villas'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 7) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'camion2' : 'Ese es el bueno, deberiamos reservarlo para viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Pinar_Rio(Events): ### tipo evento de viajes a Pinar del Rio.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Pinar del Rio'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 5) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'camion2' : 'Ese es el bueno, deberiamos reservarlo para viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Mtz(Events): ### tipo evento de viajes a Matanzas.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Matanzas'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 2) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'camion2' : 'Ese es el bueno, deberiamos reservarlo para viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class travel_Cienfuegos(Events): ### tipo evento de viajes a Cienfuegos.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Viaje a Cienfuegos'
self.Restriction_hour = [ time(8), time(21) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 5) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'camion2' : 'Ese es el bueno, deberiamos reservarlo para viajes largos.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Jose', 'Marlon')] ###No pueden estar en el mismo Evento
self.message = ['Sospecho que entre ellos dos traman algo, no podemos dejarlos a solas.'] ### Mensaje de las restricciones
self.Needs = ['Conductor' , 'Vehiculo', 'Guia'] ###lo necesario en las catg de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class Botear_Habana(Events): ### tipo evento de Botear en la Habana.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Boteo en la Habana'
self.Restriction_hour = [ time(6), time(23) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours = 2) ### duracion del viaje
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'Federico':'No hara falta, son habaneros, buscan moverse, no un tour.',
'Phineas':'No hara falta, son habaneros, buscan moverse, no un tour.'} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [] ###No pueden estar en el mismo Evento
self.message = [] ### Mensaje de las restricciones
self.Needs = ['Vehiculo', 'Conductor'] ###lo necesario de los nombres de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class Mantenimiento_Vehiculos(Events): ### tipo evento de Mantenimiento de vehiculos.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Mantenimiento de Vehiculos'
self.Restriction_hour = [ time(8), time(23) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours= 5) ### duracion del viaje############################################################
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {} ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [('Marlon', 'Diego')] ###No pueden estar en el mismo Evento
self.message = ['No hacen falta tantos admins pendientes, seria perdida de tiempo.'] ### Mensaje de las restricciones
self.Needs = ['Vehiculo', 'Mecanico'] ###lo necesario de los nombres de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)
class Vacaciones_trabajadores(Events): ### tipo evento de Mantenimiento de vehiculos.
def __init__ (self, fecha, *Recursos):
super().__init__( fecha)
self.name = 'Descanso pagado a los trabajadores'
self.Restriction_hour = [ time(5), time(23) ] ###Restricciones de horario para iniciar el viaje.
self.Duration = timedelta(hours= 5) ### duracion del viaje ##############################
self.Finish_date = self.Duration + self.fecha ###fecha de finalizacion
self.Restriction_recursos = {'Transtur1': 'No se necesitan vehiculos para esta actividad',
'Transtur2': 'No se necesitan vehiculos para esta actividad',
'Camion1': 'No se necesitan vehiculos para esta actividad',
'Camion2': 'No se necesitan vehiculos para esta actividad' } ### No pueden usarse para este evento.
self.Restriction_recursos_pares = [] ###No pueden estar en el mismo Evento
self.message = [] ### Mensaje de las restricciones
self.Needs = [] ###lo necesario de los nombres de los recursos para iniciar el viaje.
self.Recursos = list(Recursos)