def run(self): mdb = MariaDB() if not mdb.connect(self.configs["MDBServer"], self.configs["MDBUser"], self.configs["MDBPasswd"], self.configs["MDBBase"]): self.err.emit("Ошибка соединения с Базой Данных!", self.task) return if not mdb.is_admin(self.news["user"]): self.err.emit("Нет прав на удаление новости!") mdb.close() return else: mdb.delete_news(self.news) mdb.log(self.news["user"], "".join(("Удалил новость [", self.news["header"], "]"))) mdb.close() con = sqlite3.connect("".join((self.cur_path, 'news.db'))) cur = con.cursor() cur.execute("DELETE FROM news WHERE title='" + self.news["header"] + "' and date='" + self.news["date"] + "'") con.commit() con.close() self.deleteComplete.emit()
def run(self): if self.task == "news": con = sqlite3.connect(self.cur_path + 'news.db') cur = con.cursor() try: cur.execute( 'CREATE TABLE news(id INTEGER PRIMARY KEY AUTOINCREMENT, title VARCHAR(512), date VARCHAR(20))') con.commit() except: pass mdb = MariaDB() if not mdb.connect(self.configs["MDBServer"], self.configs["MDBUser"], self.configs["MDBPasswd"], self.configs["MDBBase"]): self.err.emit("Ошибка соединения с Базой Данной", self.task) return news_list = mdb.check_news() l = len(news_list) if l != self.news_count: self.setNewsCount.emit(l) self.clearNews.emit() for news in news_list: cur.execute( "SELECT * FROM news WHERE title='" + news["title"] + "' and date='" + news["date"] + "'") n_list = cur.fetchall() if len(n_list) == 0: cur.execute( "INSERT INTO news(title, date) VALUES('" + news["title"] + "', '" + news["date"] + "')") con.commit() """ Show tooltip """ if not mdb.is_admin(self.user): self.showNewsBaloon.emit(news["date"], news["title"]) self.addInNews.emit(news["date"], news["title"]) mdb.close() con.close() self.checkNewsComplete.emit() self.exit(0) elif self.task == "msg_and_files": """ Checking server status (online/offline) """ client = TcpClient() if not client.check_status(self.configs["TcpServer"], self.configs["TcpPort"]): self.serverOffline.emit() else: self.serverOnline.emit() client.close() """ Checking update, messages, files """ mdb = MariaDB() if not mdb.connect(self.configs["MDBServer"], self.configs["MDBUser"], self.configs["MDBPasswd"], self.configs["MDBBase"]): self.err.emit("Ошибка соединения с Базой Данных!", self.task) return if mdb.check_update(self.user): mdb.close() print("Доступны обновления.") self.updateAvailable.emit() return if mdb.check_files(self.user): mdb.close() print("Есть новые файлы.") self.filesAvailable.emit() return if mdb.check_messages(self.user) and (not self.msg_status): mdb.close() print("Есть новые сообщения.") self.msgAvailable.emit() return mdb.close() self.nothingAvailable.emit() return