def searchNewCommentsClick(self): self.findNewComButton.setEnabled(False) self.autoButton.setEnabled(False) self.tableComments.clear() self.setHeaderTittle() username = self.comboBoxAcc.currentText() self.handler = formHandler(username) self.handler.searchAndAddNewMediaItems() self.setHeaderTittle() rows = self.handler.findAbcAllCommentsAndSendIt() self.tableComments.setRowCount(len(rows)) i = 0 for comment in rows: self.tableComments.setItem( i, 0, QtWidgets.QTableWidgetItem( datetime.fromtimestamp(int( comment["comment_date"])).strftime("%d-%m-%Y %H:%M"))) self.tableComments.setItem( i, 1, QtWidgets.QTableWidgetItem(comment["comment_text"])) self.tableComments.setItem( i, 2, QtWidgets.QTableWidgetItem( self.handler.bdAPI.getLinkByCommentId( comment['comment_id']))) i += 1 self.setHeaderTittle() # QMessageBox.about(self,"Уведомление","Поиск завершен") self.findNewComButton.setEnabled(True) self.autoButton.setEnabled(True) self.searchButtonClick()
def job(self): username = self.comboBoxAcc.currentText() self.handler = None self.handler = formHandler(username) self.handler.bdAPI.commentsUnNew() #комментарии прочитаны БД self.handler.searchAndAddNewMediaItems() rows = self.handler.bdAPI.getMediaIds() for row in rows: commentsOld = self.handler.bdAPI.takeOldCommentsIds( row[0]) #старые 50 commentsOldN = list(map(lambda x: int(x[0]), commentsOld)) commentsNew = self.handler.f.takeCommentsWithoutCircle( row[0], 50) #новые 50 for comment in commentsNew: if comment['pk'] in commentsOldN: break else: self.handler.bdAPI.rComment( comment, row[0]) #добавляем в базу новые комментарии self.handler.bdAPI.checkNewComments( ) #отмечает все новые комменты по словарю rows = self.handler.bdAPI.showGoodNewComments( ) #получает новые и отмеченные для единовременной их отправки на почту if len(rows) != 0: host = "smtp.yandex.ru" to_addr = self.handler.bdAPI.getMail() from_addr = "*****@*****.**" error = 0 self.writeReport("Найдено (%s) комментариев(комментарий)." % str(len(rows))) self.send_email(rows, host, to_addr, from_addr) else: self.writeReport("Подходящие комментарии не обнаружены.") self.handler.bdAPI.commentsUnNew() #комментарии прочитаны self.writeReport("Успешный цикл авторежима.")
def jobThread(self): username = self.comboBoxAcc.currentText() self.handler = formHandler(username) schedule.every(10).minutes.do(self.jobException) while self.startEvent == True: schedule.run_pending() time.sleep(1) self.autoButton.setEnabled(True) self.findNewComButton.setEnabled(True)
def showCommentsButtonClick(self): username=self.comboBoxAcc.currentText() self.handler=formHandler(username) self.tableComments.clear() comments=self.handler.bdAPI.showGoodComments() self.tableComments.setRowCount(len(comments)) row=0 for comment in comments: self.tableComments.setItem(row, 0, QtWidgets.QTableWidgetItem(datetime.fromtimestamp(int(comment['comment_date'])).strftime("%d-%m-%Y %H:%M"))) self.tableComments.setItem(row, 1, QtWidgets.QTableWidgetItem(comment['comment_text'])) self.tableComments.setItem(row, 2, QtWidgets.QTableWidgetItem(self.handler.bdAPI.getLinkByCommentId(comment['comment_id']))) row += 1 self.setHeaderTittle() QMessageBox.about(self,"Уведомление","Поиск завершен")
def handSearch(self): word=self.textBoxSearch.text() username=self.comboBoxAcc.currentText() self.handler=formHandler(username) self.tableComments.clear() comments=self.handler.bdAPI.getCommentHandsearch(word) self.tableComments.setRowCount(len(comments)) row=0 for comment in comments: self.tableComments.setItem(row, 0, QtWidgets.QTableWidgetItem(datetime.fromtimestamp(int(comment["comment_date"])).strftime("%d-%m-%Y %H:%M"))) self.tableComments.setItem(row, 1, QtWidgets.QTableWidgetItem(comment["comment_text"])) self.tableComments.setItem(row, 2, QtWidgets.QTableWidgetItem(self.handler.bdAPI.getLinkByCommentId(comment["comment_id"]))) row += 1 self.setHeaderTittle() QMessageBox.about(self,"Уведомление","Поиск завершен")
def btnMediaClick(self): self.buttonMedia.setEnabled(False) username = self.comboBoxAcc.currentText() self.handler = formHandler(username) QMessageBox.about(self, "Уведомление", "Старт обновления БД. Не закрывайте окно") try: self.handler.LoadAll(username) except Exception as e: self.writeReport(str(e)) QMessageBox.about(self, "Ошибка получения записей", str(e)) return QMessageBox.about(self, "Успешно", "База данных комментариев успешно обновлена") return
def searchButtonClick(self): username=self.comboBoxAcc.currentText() self.handler=formHandler(username) #QMessageBox.about(self,"Уведомление","Ищем по новому словарю") self.handler.bdAPI.checkComments()