def __init__(self, pilas=None, x=0, y=0): if not pilas: mensaje = "Ten cuidado, antes de crear un actor tienes que vincularlo con: 'pilas.actores.vincular(MiActor)'" raise Exception(mensaje) if not isinstance(pilas, pilasengine.Pilas): mensaje = "Tienes que enviar el objeto 'pilas' como argumento al actor, en lugar de eso llego esto: " + str(pilas) raise Exception(mensaje) if not isinstance(x, (int, long, float)): mensaje = "El parametro x tiene un valor no permitido: " + str(x) raise Exception(mensaje) if not isinstance(y, (int, long, float)): mensaje = "El parametro y tiene un valor no permitido: " + str(y) raise Exception(mensaje) self.pilas = pilas self.padre = None Estudiante.__init__(self) self._definir_valores_iniciales(pilas, x, y) # Listas para definir los callbacks de los eventos self._callback_cuando_hace_click = set() self._callback_cuando_mueve_mouse = set() self._grupos_a_los_que_pertenece = [] self._actores = [] # Vincula el actor con la escena actual. pilas.actores.agregar_actor(self) # Especifica la composión de dibujado (ver actor particula.py). self.composicion = None
def __init__(self, pilas=None, x=0, y=0): if not pilas: mensaje = "Ten cuidado, antes de crear un actor tienes que vincularlo con: 'pilas.actores.vincular(MiActor)'" raise Exception(mensaje) if not isinstance(pilas, pilasengine.Pilas): mensaje = "Tienes que enviar el objeto 'pilas' como argumento al actor, en lugar de eso llego esto: " + str( pilas) raise Exception(mensaje) if not isinstance(x, (int, long, float)): mensaje = "El parametro x tiene un valor no permitido: " + str(x) raise Exception(mensaje) if not isinstance(y, (int, long, float)): mensaje = "El parametro y tiene un valor no permitido: " + str(y) raise Exception(mensaje) self.pilas = pilas self.padre = None Estudiante.__init__(self) self._definir_valores_iniciales(pilas, x, y) # Listas para definir los callbacks de los eventos self._callback_cuando_hace_click = set() self._callback_cuando_mueve_mouse = set() self._grupos_a_los_que_pertenece = [] self._actores = [] # Vincula el actor con la escena actual. pilas.actores.agregar_actor(self) # Especifica la composión de dibujado (ver actor particula.py). self.composicion = None
def validateDataSheet(filename,columnas,colores,errorsMessages,validaciones): header_rows = 2 VACIO = errorsMessages[0] NO_REDONDEADO = errorsMessages[-1] TIPO_NO_NUMERICO = errorsMessages[-2] try: wb = load_workbook(filename) data_sheet = wb["DATA"] total_students = data_sheet.max_row - header_rows total_columns = data_sheet.max_column print("Total estudiantes a revisar: "+str(total_students)) total_errors = 0 for row in data_sheet.iter_rows(min_row=header_rows+1, max_col=total_columns, max_row=data_sheet.max_row): data = [] for cell in row: data.append(cell.value) fillCell(cell,colores[VACIO]) #Restore cell color estudiante = Estudiante(data, columnas) estudiante.convertir() convertirDatosNumericos(estudiante,row,columnas) #Luego de convertir datos numéricos, se valida errores = estudiante.validar(errorsMessages,validaciones) countErrorStudent = 0 for error, campos in errores.items(): color = colores[error] countErrorStudent += len(campos) for columna in campos: if columna in columnas: i = columnas.index(columna) if error==NO_REDONDEADO: #El error detectado es corregido por el script row[i].value = estudiante.calif_final[columna] else: fillCell(row[i],color,'solid') #Errores no corregidos se pintan if countErrorStudent: print('{:<9}{}'.format('FALLÓ',estudiante.nombre)) total_errors += 1 else: print('{:<9}{}'.format('OK',estudiante.nombre)) if total_errors: print("RESULTADOS: Se detectaron errores en las calificaciones de ", total_errors," estudiantes.") print() print("Revise su archivo de calificaciones, y corrija los errores de las CELDAS RESALTADAS con los siguientes colores:") print("1. Naranja \t --> \t Dato requerido.") print("2. Azul \t --> \t Valor no válido, revise la cabecera del archivo modelo para las posibles opciones.") print("3. Amarillo \t --> \t Valor fuera del rango posible.") #print("4. Verde \t --> \t El dato no es numérico.") print("="*150) print("**OJO: Los errores tipo dato_no_redondeado y dato_no_numerico fueron corregidos por el script") else: print("="*150) print('¡Felicidades! Tu archivo de excel está listo para ser enviado') print('Por favor enviar a [email protected] con el subject Estadísticas P##-2019I') print('No te olvides de renombrar tu archivo excel como estadisticas-P##-2019I.xlsx') print("="*150) print("Copyright (c) 2018 eslozano") print('All Rights Reserved :)') wb.save(filename)
def __init__(self, pilas=None, *k, **kv): # Especifica la composión de dibujado (ver actor particula.py). self.composicion = None if not pilas: mensaje = "Ten cuidado, antes de crear un actor tienes que vincularlo con: 'pilas.actores.vincular(MiActor)'" raise Exception(mensaje) if not isinstance(pilas, pilasengine.Pilas): mensaje = "Tienes que enviar el objeto 'pilas' como argumento al actor, en lugar de eso llego esto: " + str( pilas) raise Exception(mensaje) self.pilas = pilas self.padre = None if 'x' in kv: x = kv['x'] else: x = 0 if 'y' in kv: y = kv['y'] else: y = 0 if 'imagen' in kv: imagen = kv['imagen'] else: imagen = 'sin_imagen.png' Estudiante.__init__(self) self._definir_valores_iniciales(pilas, x, y, imagen) # x, y, imagen) self.etiquetas = Etiquetas() self.etiquetas.agregar(self.__class__.__name__) # Listas para definir los callbacks de los eventos self._callback_cuando_hace_click = set() self._callback_cuando_mueve_mouse = set() self._grupos_a_los_que_pertenece = [] self._actores = [] # Argumentos adicionales. self.argumentos_adicionales = (k, kv) # Vincula el actor con la escena actual. pilas.actores.agregar_actor(self)
def __init__(self, pilas=None, *k, **kv): # Especifica la composión de dibujado (ver actor particula.py). self.composicion = None if not pilas: mensaje = "Ten cuidado, antes de crear un actor tienes que vincularlo con: 'pilas.actores.vincular(MiActor)'" raise Exception(mensaje) if not isinstance(pilas, pilasengine.Pilas): mensaje = "Tienes que enviar el objeto 'pilas' como argumento al actor, en lugar de eso llego esto: " + str(pilas) raise Exception(mensaje) self.pilas = pilas self.padre = None if 'x' in kv: x = kv['x'] else: x = 0 if 'y' in kv: y = kv['y'] else: y = 0 if 'imagen' in kv: imagen = kv['imagen'] else: imagen = 'sin_imagen.png' Estudiante.__init__(self) self._definir_valores_iniciales(pilas, x, y, imagen) # x, y, imagen) self.etiquetas = Etiquetas() self.etiquetas.agregar(self.__class__.__name__) # Listas para definir los callbacks de los eventos self._callback_cuando_hace_click = set() self._callback_cuando_mueve_mouse = set() self._grupos_a_los_que_pertenece = [] self._actores = [] # Argumentos adicionales. self.argumentos_adicionales = (k, kv) # Vincula el actor con la escena actual. pilas.actores.agregar_actor(self)
def on_btn_ing_clicked(self, btn_ing): un_estudiante = Estudiante( self.ent_cod.get_text(), self.ent_nom.get_text(), float(self.ent_nota.get_text()), ) if not self.estudiante.search(un_estudiante): if self.estudiante.append(un_estudiante): dialogo = Gtk.MessageDialog( parent=self, buttons=Gtk.ButtonsType.OK, text=boton.get_label() + "Estudiante Adicionado Exitosamente!", ) # print("Estudiante Adicionado Exitosamente!") else: dialogo = Gtk.MessageDialog( parent=self, buttons=Gtk.ButtonsType.OK, text=boton.get_label() + "Estudiante NO pudo adicionarse!", ) # print("Estudiante NO pudo adicionarse!") else: dialogo = Gtk.MessageDialog( parent=self, buttons=Gtk.ButtonsType.OK, text=boton.get_label() + "El estudinate ya se encuentra matriculado imposible matricularlo nuevamente", )
def registrar(self): tmp = Estudiante(self.ui.nombre.text(), self.ui.correo.text(), self.ui.contrasenia.text()) print(f'Persona Registrada {tmp.nombre()}') file = open('RegistroProyecto.txt', 'wb') pickle.dump(tmp, file) file.close()
def enviar(self): self.s.connect((self.host, self.port)) estudiante = Estudiante(f'{self.ui.Nombre.text()}', f'{self.ui.Correo.text()}', f'{self.ui.Contrasena.text()}') estudiante_serializado = pickle.dumps(estudiante) self.s.send(estudiante_serializado) ans = self.s.recv(1024) print(f'Respuesta: \t{ans.decode()}')
def adicionar_estudiante(self): system('clear') print('Crear estudiante') nombre_estudiante = input('Ingrese el nombre del estudiante: ') apellido_estudiante = input('Ingrese el apellido del estudiante: ') codigo_estudiante = input('Ingrese el codigo del estudiante: ') estudiante = Estudiante(nombre_estudiante, apellido_estudiante, codigo_estudiante) if self.colegio.adicionar_estudiante(estudiante): print('El estudiante fue creado de forma exitosa') input()
def main(): s = socket.socket() host = '3.16.226.150' port = 9999 s.connect((host, port)) estudiante = Estudiante('David Fernando Ortega Tamayo', '*****@*****.**', 'Pycharm') estudiante_seriado = pickle.dumps(estudiante) s.send(estudiante_seriado) res = s.recv(1024) print(f' respuesta: \n\t{res.decode()}') s.close()
def submitAlumno(self): s = socket.socket() # Port = 9997 proyecto final, 9998 pruebas s.connect((host, port)) estudiante = Estudiante(self.nameLine.text(), self.mailLine.text(), self.passLine.text()) estudiante_seriado = pickle.dumps(estudiante) s.send(estudiante_seriado) res = s.recv(1024) print(f'Respuesta: \n\t{res.decode()}') s.send(b'INI') res = s.recv(1024) print(f'Respuesta: \n\t{res.decode()}') fileName, _ = QtWidgets.QFileDialog.getOpenFileName( self, "Open ZIP file", '', "Zip file (*.zip);;All Files (*)") if not fileName: return fileName2 = open(fileName, 'rb') fileName_seriado = pickle.dumps(fileName2.read()) i = True j = 0 while i: chunk = fileName_seriado[j:j + 1024] if not chunk: i = False continue s.send(chunk) res = s.recv(1024) print(f'Respuesta: \n\t{res.decode()}') j += 1024 s.send(b'FIN') res = s.recv(1024) print(f'Respuesta: \n\t{res.decode()}') s.close()
def main(): s = socket.socket() host = '3.16.226.150' port = 9999 s.connect((host, port)) estudiante = Estudiante("Elliot Ruiz Sanchez", "*****@*****.**", "IECA8") estudiante_seriado = pickle.dumps(estudiante) s.send(estudiante_seriado) res = s.recv(1024) print(f'Respuesta: \n\t{res.decode()}') s.close()
def regAsistencia(self): self.ui.nombreLE.setDisabled(True) self.ui.correoLE.setDisabled(True) self.ui.contraLE.setDisabled(True) alumno = Estudiante(self.ui.nombreLE.text(), self.ui.correoLE.text(), self.ui.contraLE.text()) self.mostrarAlerta("Conexión con el servidor establecida") self.clienteF = Cliente("3.16.226.150") self.clienteF.setPuerto(int( self.ui.puertoCB.currentText())) # Retorna str, castear a int self.clienteF.conectar() self.ui.pantallaTE.clear() msj = self.clienteF.enviar(alumno) self.ui.pantallaTE.insertPlainText(msj + '\n') print(msj) self.statusBar().showMessage("Selecciona tu archivo...") self.ui.asistenciaB.setDisabled(True) self.ui.zipLE.setEnabled(True) self.ui.zipbuscarB.setEnabled(True)
print(res.decode()) inicio +=1024 self.conexion.send(b'FIN') res=self.conexion.recv(1024) # respuesta fin del paquete print(res.decode()) res=self.conexion.recv(1024) #respuesta de validacion del archivo return res.decode() if __name__ == '__main__': c=cliente() c.conectar() e=Estudiante('Misael Hernandez', '*****@*****.**','12345678') r=c.enviar(e) print(r) f=open('proyecto.zip','rb') r=c.enviar(f.read()) c.desconectar() #--------------------------------------------------ejemplo 2 #class cliente: # def __init__(self, ip='localhost', puerto=9998): # #self.ip = '3.16.226.150'
if not chunk: continuar = False continue self.clientSocket.send(chunk) res = self.clientSocket.recv(1024) print(res.decode()) inicio += 1024 self.clientSocket.send(b"FIN") res = self.clientSocket.recv(1024) # Respuesta paquete FIN print(res.decode()) res = self.clientSocket.recv( 1024) # Respuesta de validacion del archivo return res.decode() if __name__ == '__main__': c = Cliente("3.16.226.150", 9998) c.conectar() alumno = Estudiante("Felix Armenta A", "*****@*****.**", "PADTS_3") respuesta = c.enviar(alumno) print(respuesta) f = open("test.zip", "rb") respuesta = c.enviar(f.read()) print(respuesta) c.desconectar()
from estudiante import Estudiante estudiantes = [] n = int(input('Cantidad de estudiantes: ')) for i in range(n): nombre = str(input('Ingrese el nombre: ')) apellido = str(input('Ingrese el apellido: ')) codigo = str(input('Ingrese el código: ')) email = str(input('Ingrese el email: ')) est = Estudiante(nombre, apellido, codigo, email) estudiantes.append(est) for est in estudiantes: print (est)
def enviarEstudiante(self): e = Estudiante(self.ui.nombreLE.text(), self.ui.correoLE.text(), self.ui.contraLE.text()) self.ui.archivoG.setEnabled(True)