def run(self): try: if self.rank == 1: for test in range(1, self.limit): began = time() kanji_set = [] while len(kanji_set) != 4: kanji = Kanji.get_random(self.al.random_int()) if kanji is not None: if kanji not in kanji_set: kanji_set.append(kanji) print 'Quadruple selected: ' + str(time() - began) self.partDone.emit(float(test)/self.limit * 100) else: counter = 0.0 while Kanji.picked_max() < self.rank: began = time() kanji_set = [] while len(kanji_set) != 4: kanji = Kanji.get_random(self.al.random_int()) if kanji is not None: if kanji not in kanji_set: kanji_set.append(kanji) print 'Quadruple selected: ' + str(time() - began) counter += 0.0001 self.partDone.emit(float(counter) * 100) except Exception as e: print e.message self.over.emit(True)
def run(self): try: kanji_set = [] while len(kanji_set) != 4: kanji = Kanji.get_random(self.al.random_int()) if kanji is not None: # Should not get the same kanji in one set if kanji not in kanji_set: kanji_set.append(kanji) self.results['kanji_set'] = kanji_set self.results['success'] = True except MessedUpException as e: self.results['message'] = e.message self.done.emit(self.results)
def eventFilter(self, object, event): if event.type() == QEvent.HoverEnter: object.setStyleSheet("QLabel { color: rgb(125, 125, 255); }") if event.type() == QEvent.HoverLeave: object.setStyleSheet("QLabel { color: rgb(0, 0, 0); }") if event.type() == QEvent.MouseButtonPress: if event.button() == Qt.LeftButton: try: kanji = None while kanji is None: kanji = Kanji.get_random( parent_up(object).al.random_int()) object.setText(kanji.character) if object is parent_up(object).day: parent_up(object).dayLabel.setText( '<b>Day:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') elif object is parent_up(object).week: parent_up(object).weekLabel.setText( '<b>Week:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') elif object is parent_up(object).month: parent_up(object).monthLabel.setText( '<b>Month:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') elif object is parent_up(object).year: parent_up(object).yearLabel.setText( '<b>Year:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') parent_up(object).kanji_tooltip(object) parent_up(object).stats.update_stat_info() parent_up(object).stats.refresh_plot() except MessedUpException as e: parent_up(object).show_message_then_hide(e.message) elif event.button() == Qt.RightButton: found = JDIC.search(object.text()) if found: parent_up(object).toggle_kanji_info(object, found) else: parent_up(object).show_message_then_hide( 'No such kanji in kanjidic2!') return False
def eventFilter(self, object, event): if event.type() == QEvent.HoverEnter: object.setStyleSheet("QLabel { color: rgb(125, 125, 255); }") if event.type() == QEvent.HoverLeave: object.setStyleSheet("QLabel { color: rgb(0, 0, 0); }") if event.type() == QEvent.MouseButtonPress: if event.button() == Qt.LeftButton: try: kanji = None while kanji is None: kanji = Kanji.get_random(parent_up(object).al.random_int()) object.setText(kanji.character) if object is parent_up(object).day: parent_up(object).dayLabel.setText('<b>Day:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') elif object is parent_up(object).week: parent_up(object).weekLabel.setText('<b>Week:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') elif object is parent_up(object).month: parent_up(object).monthLabel.setText('<b>Month:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') elif object is parent_up(object).year: parent_up(object).yearLabel.setText('<b>Year:</b> ' + str(kanji.frequency) + ' | ' + str(kanji.dominance) + '%') parent_up(object).kanji_tooltip(object) parent_up(object).stats.update_stat_info() parent_up(object).stats.refresh_plot() except MessedUpException as e: parent_up(object).show_message_then_hide(e.message) elif event.button() == Qt.RightButton: found = JDIC.search(object.text()) if found: parent_up(object).toggle_kanji_info(object, found) else: parent_up(object).show_message_then_hide('No such kanji in kanjidic2!') return False