Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #optiv2.py
- # -*- coding: utf-8 -*-
- import sys
- from PySide import QtGui, QtCore
- import csv
- class App (QtGui.QMainWindow):
- def __init__(self, parent=None):
- super(App, self).__init__(parent)
- self.GUI()
- def GUI(self):
- """ Graphical User Interface """
- self.central_widget = MainWidget(self)
- self.setCentralWidget(self.central_widget)
- self.statusBar().showMessage(str('Listo.'))
- self.setGeometry(300, 300, 500, 250)
- self.setWindowTitle('Asignador de tareas - Common Rocket')
- self.setWindowIcon(QtGui.QIcon('logo.png'))
- self.show()
- def closeEvent(self, event):
- reply = QtGui.QMessageBox.question(self, 'Aviso',"Seguro que quieres salir?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
- if reply == QtGui.QMessageBox.Yes:
- archivo.seek(0)
- writer = csv.writer(archivo)
- for row in empleados:
- writer.writerow(row)
- archivo.close()
- event.accept()
- else:
- event.ignore()
- class MainWidget(QtGui.QWidget):
- def __init__(self, parent=None):
- super(MainWidget, self).__init__(parent)
- self.GUI()
- def GUI(self):
- """ GUI del Widget """
- self.grid = QtGui.QGridLayout(self)
- self.grid.setSpacing(10)
- self.typo = QtGui.QPixmap('typo.png')
- self.label = QtGui.QLabel(self)
- self.label.setPixmap(self.typo)
- self.disbtn = QtGui.QPushButton('Design')
- self.disbtn.setStatusTip("Encuentra a los mejores empleados para Graphic Design.")
- self.disbtn.clicked.connect(self.dis)
- self.fotobtn = QtGui.QPushButton('Photo')
- self.fotobtn.setStatusTip("Encuentra a los mejores empleados para Photo Sessions.")
- self.fotobtn.clicked.connect(self.foto)
- self.socialbtn = QtGui.QPushButton('Social')
- self.socialbtn.setStatusTip("Encuentra a los mejores empleados para Social Media.")
- self.socialbtn.clicked.connect(self.social)
- self.textarea = QtGui.QTextEdit()
- self.textarea.setReadOnly(True)
- self.grid.addWidget(self.label, 0, 0, 1, 1)
- self.grid.addWidget(self.disbtn, 1, 0)
- self.grid.addWidget(self.fotobtn, 2, 0)
- self.grid.addWidget(self.socialbtn, 3, 0)
- self.grid.addWidget(self.textarea, 0, 1, 4, 1)
- self.setLayout(self.grid)
- self.show()
- def dis(self):
- """ Muestra los dos mejores en diseño disponibles """
- self.aptitudes = [] #0 Empleado, 1 Disponibilidad, 2 Diseño, 3 Foto, 4 Social, 5 Num. Proyectos
- for wn in empleados:
- self.aptitudes.append(wn[2])
- print self.aptitudes #debug
- self.index_best_apt = self.aptitudes.index(max(self.aptitudes))
- self.best_apt = self.aptitudes[self.index_best_apt]
- self.aptitudes[self.index_best_apt] = 0
- print self.aptitudes #debug
- self.index_better_apt = self.aptitudes.index(max(self.aptitudes)) #El segundo mayor, que es el mayor de los que quedaron
- self.better_apt = self.aptitudes[self.index_better_apt]
- self.best_user = empleados[self.index_best_apt][0]
- self.trabajos_best_user = empleados[self.index_best_apt][5]
- self.better_user = empleados[self.index_better_apt][0]
- self.trabajos_better_user = empleados[self.index_better_apt][5]
- self.textarea.setText(
- "<h3>Graphic Design</h3> <br />El mejor empleado que tienes para Graphic Design es <b>" + self.best_user + "</b> con una aptitud de <i>" + self.best_apt +
- "</i>, y tene una carga de <b>" + self.trabajos_best_user + "</b> trabajos actualmente.<br /><br />El empleado que le sigue es <b>" + self.better_user + "</b>, con una aptitud de <i>" + self.better_apt +
- "</i> y una carga de <b>" + self.trabajos_better_user + "</b> trabajos.<br /><br /> ")
- if empleados[self.index_best_apt][1] == '0':
- self.textarea.append(self.best_user + " parece estar ocupado.")
- else:
- self.textarea.append(self.best_user + " parece estar disponible.")
- if empleados[self.index_better_apt][1] == '0':
- self.textarea.append(self.better_user + " parece estar ocupado.")
- else:
- self.textarea.append(self.better_user + " parece estar disponible.")
- self.best_apply = QtGui.QMessageBox.question(self, "Asignar a la tarea?", "Deseas agregar a " + self.best_user + " a la tarea seleccionada?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
- if self.best_apply == QtGui.QMessageBox.Yes:
- empleados[self.index_best_apt][1] = 0
- empleados[self.index_best_apt][5] = str(int(empleados[self.index_best_apt][5]) + 1)
- else:
- self.better_apply = QtGui.QMessageBox.question(self, "Asignar a la tarea?", "Deseas agregar a " + self.better_user + " a la tarea seleccionada?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
- if self.better_apply == QtGui.QMessageBox.Yes:
- empleados[self.index_better_apt][1] = 0
- empleados[self.index_better_apt][5] = str(int(empleados[self.index_better_apt][5]) + 1)
- print empleados #debug
- def foto(self):
- """ Muestra los dos mejores en foto disponibles """
- self.aptitudes = [] #0 Empleado, 1 Disponibilidad, 2 Diseño, 3 Foto, 4 Social, 5 Num. Proyectos
- for wn in empleados:
- self.aptitudes.append(wn[3])
- print self.aptitudes #debug
- self.index_best_apt = self.aptitudes.index(max(self.aptitudes))
- self.best_apt = self.aptitudes[self.index_best_apt]
- self.aptitudes[self.index_best_apt] = 0
- print self.aptitudes #debug
- self.index_better_apt = self.aptitudes.index(max(self.aptitudes)) #El segundo mayor, que es el mayor de los que quedaron
- self.better_apt = self.aptitudes[self.index_better_apt]
- self.best_user = empleados[self.index_best_apt][0]
- self.trabajos_best_user = empleados[self.index_best_apt][5]
- self.better_user = empleados[self.index_better_apt][0]
- self.trabajos_better_user = empleados[self.index_better_apt][5]
- self.textarea.setText(
- "<h3>Photo Sessions</h3> <br />El mejor empleado que tienes para Photo Sessions es <b>" + self.best_user + "</b> con una aptitud de <i>" + self.best_apt +
- "</i>, y tene una carga de <b>" + self.trabajos_best_user + "</b> trabajos actualmente.<br /><br />El empleado que le sigue es <b>" + self.better_user + "</b>, con una aptitud de <i>" + self.better_apt +
- "</i> y una carga de <b>" + self.trabajos_better_user + "</b> trabajos.<br /><br /> ")
- if empleados[self.index_best_apt][1] == '0':
- self.textarea.append(self.best_user + " parece estar ocupado.")
- else:
- self.textarea.append(self.best_user + " parece estar disponible.")
- if empleados[self.index_better_apt][1] == '0':
- self.textarea.append(self.better_user + " parece estar ocupado.")
- else:
- self.textarea.append(self.better_user + " parece estar disponible.")
- self.best_apply = QtGui.QMessageBox.question(self, "Asignar a la tarea?", "Deseas agregar a " + self.best_user + " a la tarea seleccionada?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
- if self.best_apply == QtGui.QMessageBox.Yes:
- empleados[self.index_best_apt][1] = 0
- empleados[self.index_best_apt][5] = str(int(empleados[self.index_best_apt][5]) + 1)
- else:
- self.better_apply = QtGui.QMessageBox.question(self, "Asignar a la tarea?", "Deseas agregar a " + self.better_user + " a la tarea seleccionada?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
- if self.better_apply == QtGui.QMessageBox.Yes:
- empleados[self.index_better_apt][1] = 0
- empleados[self.index_better_apt][5] = str(int(empleados[self.index_better_apt][5]) + 1)
- print empleados #debug
- def social(self):
- """ Muestra los dos mejoes en social media disponibles """
- self.aptitudes = [] #0 Empleado, 1 Disponibilidad, 2 Diseño, 3 Foto, 4 Social, 5 Num. Proyectos
- for wn in empleados:
- self.aptitudes.append(wn[4])
- print self.aptitudes #debug
- self.index_best_apt = self.aptitudes.index(max(self.aptitudes))
- self.best_apt = self.aptitudes[self.index_best_apt]
- self.aptitudes[self.index_best_apt] = 0
- print self.aptitudes #debug
- self.index_better_apt = self.aptitudes.index(max(self.aptitudes)) #El segundo mayor, que es el mayor de los que quedaron
- self.better_apt = self.aptitudes[self.index_better_apt]
- self.best_user = empleados[self.index_best_apt][0]
- self.trabajos_best_user = empleados[self.index_best_apt][5]
- self.better_user = empleados[self.index_better_apt][0]
- self.trabajos_better_user = empleados[self.index_better_apt][5]
- self.textarea.setText(
- "<h3>Social Media</h3> <br />El mejor empleado que tienes para Social Media es <b>" + self.best_user + "</b> con una aptitud de <i>" + self.best_apt +
- "</i>, y tene una carga de <b>" + self.trabajos_best_user + "</b> trabajos actualmente.<br /><br />El empleado que le sigue es <b>" + self.better_user + "</b>, con una aptitud de <i>" + self.better_apt +
- "</i> y una carga de <b>" + self.trabajos_better_user + "</b> trabajos.<br /><br /> ")
- if empleados[self.index_best_apt][1] == '0':
- self.textarea.append(self.best_user + " parece estar ocupado.")
- else:
- self.textarea.append(self.best_user + " parece estar disponible.")
- if empleados[self.index_better_apt][1] == '0':
- self.textarea.append(self.better_user + " parece estar ocupado.")
- else:
- self.textarea.append(self.better_user + " parece estar disponible.")
- self.best_apply = QtGui.QMessageBox.question(self, "Asignar a la tarea?", "Deseas agregar a " + self.best_user + " a la tarea seleccionada?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
- if self.best_apply == QtGui.QMessageBox.Yes:
- empleados[self.index_best_apt][5] = str(int(empleados[self.index_best_apt][5]) + 1)
- else:
- self.better_apply = QtGui.QMessageBox.question(self, "Asignar a la tarea?", "Deseas agregar a " + self.better_user + " a la tarea seleccionada?",
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
- if self.better_apply == QtGui.QMessageBox.Yes:
- empleados[self.index_better_apt][5] = str(int(empleados[self.index_better_apt][5]) + 1)
- print empleados #debug
- def main():
- application = QtGui.QApplication(sys.argv)
- ex = App()
- global archivo, reader, empleados, ram
- archivo = open('dblol.csv', 'r+')
- reader = csv.reader(archivo, delimiter=',')
- empleados = []
- for row in reader:
- empleados.append(row)
- print row #debug
- sys.exit(application.exec_())
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement