def __init__(self, controller, parent=None): QtGui.QDialog.__init__(self, parent) self.ui = Ui_Dialog() self.ui.setupUi(self) self.controller = controller self.in_files = file_container.InFiles() self.tournaments = {} self.update_tourneys() self.update_cb_values() self.add_signals() self.set_current_date()
class TourneyInfoWindow(QtGui.QDialog): def __init__(self, controller, parent=None): QtGui.QDialog.__init__(self, parent) self.ui = Ui_Dialog() self.ui.setupUi(self) self.controller = controller self.in_files = file_container.InFiles() self.tournaments = {} self.update_tourneys() self.update_cb_values() self.add_signals() self.set_current_date() def add_signals(self): """ Adds signals to widgets to call methods on interaction. :return: """ self.ui.cb_tourneyid.currentIndexChanged.connect(self.clear_fields) self.ui.btn_submit.pressed.connect(self.make_tournament) self.ui.btn_close.pressed.connect(self.closewin) self.ui.btn_refresh.pressed.connect(self.new_tourneys) def clear_fields(self): """Resets the values of the fields""" self.ui.le_name.setText('') self.ui.cb_buyin.setCurrentIndex(0) self.ui.cb_type.setCurrentIndex(0) self.set_current_date() def closewin(self): """Closes the dialog window""" self.close() def get_vals(self): """Returns all the field values""" keys = ['id', 'buyin', 'game_date', 'game_type'] values = [ self.ui.cb_tourneyid.currentText(), self.ui.cb_buyin.currentText(), self.ui.cb_date.date().toPyDate(), self.ui.cb_type.currentText() ] return {k: str(v) for k, v in zip(keys, values)} def make_tournament(self): """Makes the new csv file and removes old from list and dir""" values = self.get_vals() self.controller(values) self.in_files.del_file(values['id']) self.update_tourneys() self.update_cb_values() def new_tourneys(self): self.update_tourneys() self.update_cb_values() def set_current_date(self): """ Sets the cb_date to the current date - 1 (yesterday). :return: """ current = QtCore.QDate.currentDate() current = current.addDays(-1) self.ui.cb_date.setDate(current) def update_cb_values(self): """ Adds the tourney values to the cb_tourneyid :return: """ tourney_ids = self.tournaments.keys() # clear previous values for updating. self.ui.cb_tourneyid.clear() self.ui.cb_tourneyid.addItems(tourney_ids) def update_tourneys(self): """ Adds tournaments to dict of tourneys. :return: """ tourney_ids = self.in_files.list_ids() self.tournaments = {id_:TourneyInfo(id_) for id_ in tourney_ids}