Exemple #1
0
    def __init__(self, id=None, parent=None):
        '''
        程序初始化
        :param parent:
        '''
        super(scantronInfoWin, self).__init__(parent)
        self.setupUi(self)
        self.retranslateUi(self)

        headerView = self.tableWidget.horizontalHeader()
        headerView.setSectionResizeMode(QHeaderView.Stretch)

        self.setWindowFlags(
            Qt.Window | Qt.FramelessWindowHint | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint)  # 窗口无边框

        db = db_class()
        db.open()
        result = db.select_scantronInfo_condition(id)
        db.close()
        self.label_1.setText(str(result[0][4]))

        self.tableWidget.setRowCount(len(eval(result[0][0])))
        for n, (a, r, c, s) in enumerate(
                zip(eval(result[0][0]), eval(result[0][1]), eval(result[0][2]), eval(result[0][3]))):
            self.tableWidget.setItem(n, 0, QTableWidgetItem(a[0]))
            self.tableWidget.setItem(n, 1, QTableWidgetItem(a[1]))
            self.tableWidget.setItem(n, 2, QTableWidgetItem(a[2]))
            self.tableWidget.setItem(n, 3, QTableWidgetItem(r))
            self.tableWidget.setItem(n, 4, QTableWidgetItem(c))
            self.tableWidget.setItem(n, 5, QTableWidgetItem(s))

        self.pushButton_close.clicked.connect(self.close)
Exemple #2
0
 def btn_student(self):
     self.stackedWidget.setCurrentIndex(3)
     db = db_class()
     db.open()
     datas = db.select_student_condition(self.userid)
     db.close()
     self.load_table_s(datas)
Exemple #3
0
    def __init__(self, id=None, parent=None):
        '''
        程序初始化
        :param parent:
        '''
        super(infoWin, self).__init__(parent)
        self.setupUi(self)
        self.retranslateUi(self)

        self.setWindowFlags(Qt.Window | Qt.FramelessWindowHint
                            | Qt.WindowSystemMenuHint
                            | Qt.WindowMinimizeButtonHint
                            | Qt.WindowMaximizeButtonHint)  # 窗口无边框

        db = db_class()
        db.open()
        result = db.select_uid('hero', id)
        db.close()

        self.widget_2.setStyleSheet("image: url(" + result[0][4] + ");")

        self.label_3.setText(result[0][1])
        self.label_4.setText(result[0][2])
        self.textEdit.setHtml(result[0][3])

        self.pushButton.clicked.connect(self.up)
        self.pushButton_2.clicked.connect(self.down)
        self.pushButton_3.clicked.connect(self.close)

        self.img_list = eval(result[0][5])
        self.loadImg()
Exemple #4
0
 def parser_index(self, area, table):
     '''
     解析索引页
     :param url: 索引页url
     :return:
     '''
     try:
         db = db_class()
         db.open()
         # 请求索引页
         title_img_list = table.xpath('.//td//img/@src')
         url_list = table.xpath('.//td/p[2]/a/@href')
         name_list = table.xpath('.//td/p[2]/a/text()')
         for title_img, url, name in zip(title_img_list, url_list,
                                         name_list):
             try:
                 if self.flag:
                     text = self.requestGET(url, headers)
                     if text:
                         html = etree.HTML(text)
                         text = text.replace('\n', '')
                         content1 = re.search(
                             '<strong>背景故事</strong>\s*?</p>(.*?)<hr.*?>',
                             text,
                             flags=re.DOTALL | re.S | re.I)
                         if content1:
                             content = content1[1]
                             self.saveIMG(
                                 name, 'title.' + title_img.split('.')[-1],
                                 title_img)
                             title_path = './img/' + name + '/' + 'title.' + title_img.split(
                                 '.')[-1]
                             skin_img_list = html.xpath(
                                 '//p[@align="center"]//a/img/@src')
                             skin_path = []
                             for n, skin_img in enumerate(skin_img_list):
                                 self.saveIMG(
                                     name,
                                     str(n) + '.' + skin_img.split('.')[-1],
                                     skin_img)
                                 skin_url = './img/' + name + '/' + str(
                                     n) + '.' + skin_img.split('.')[-1]
                                 skin_path.append(skin_url)
                             hero = {}
                             hero['name'] = name
                             hero['area'] = area
                             hero['content'] = content
                             hero['title_img'] = title_path
                             hero['skin_img'] = str(skin_path)
                             db.insert_many('hero', [hero])
                             self.sig_one_end.emit(name + ' 抓取成功!')
             except Exception as e:
                 print(e)
     except Exception as e:
         print(e)
         print(area)
     finally:
         db.close()
Exemple #5
0
 def btn_teacher_del_c(self):
     row = self.getCheckedRow3()
     if row != None:
         id = self.tableWidget_3.item(row, 1).text()
         db = db_class()
         db.open()
         db.delete_many(scantron, [{'id': id}])
         db.close()
         self.btn_teacher()
Exemple #6
0
 def btn_teacher_search_c(self):
     text = self.lineEdit_c.text().strip()
     if text:
         db = db_class()
         db.open()
         result = db.select_scantron_like(text)
         db.close()
         if result:
             self.load_table_c(result)
Exemple #7
0
 def btn_teacher_search(self):
     text = self.lineEdit_q.text().strip()
     if text:
         db = db_class()
         db.open()
         result = db.select_condition(questions, 'title like "%' + text + '%"')
         db.close()
         if result:
             self.load_table_q(result)
Exemple #8
0
 def btn_teacher(self):
     self.stackedWidget.setCurrentIndex(2)
     db = db_class()
     db.open()
     datas = db.select_all(questions)
     datas1 = db.select_scantron()
     db.close()
     self.load_table_q(datas)
     self.load_table_c(datas1)
Exemple #9
0
 def btn_teacher_del(self):
     row = self.getCheckedRow2()
     if row != None:
         id = self.tableWidget_2.item(row, 1).text()
         db = db_class()
         db.open()
         db.delete_many(questions, [{'id': id}])
         db.close()
         self.btn_teacher()
Exemple #10
0
 def btn_del(self):
     row = self.getCheckedRow()
     if row != None:
         id = self.tableWidget.item(row, 1).text()
         db = db_class()
         db.open()
         db.delete_many(user_table, [{'id': id}])
         db.close()
         self.btn_admin()
Exemple #11
0
 def btn_clear(self):
     '''
     清空按钮
     '''
     db = db_class()
     db.open()
     db.delete_all('hero')
     db.close()
     self.tabChange(1)
Exemple #12
0
 def scantronWinSlot(self, Obj):
     db = db_class()
     db.open()
     if Obj['id']:
         id = Obj.pop('id')
         db.update_many(scantron, [Obj], [{'id': id}])
     else:
         Obj.pop('id')
         db.insert_many(scantron, [Obj])
     db.close()
     self.btn_teacher()
Exemple #13
0
 def questionsSlot(self, questionsObj):
     db = db_class()
     db.open()
     if questionsObj['id']:
         id = questionsObj.pop('id')
         db.update_many(questions, [questionsObj], [{'id': id}])
     else:
         questionsObj.pop('id')
         db.insert_many(questions, [questionsObj])
     db.close()
     self.btn_teacher()
Exemple #14
0
 def userSlot(self, userObj):
     db = db_class()
     db.open()
     userObj['rank_id'] = '0' if userObj['rank_name'] == '管理员' else '1' if userObj['rank_name'] == '教师' else '2'
     if userObj['id']:
         id = userObj.pop('id')
         db.update_many(user_table, [userObj], [{'id': id}])
     else:
         userObj.pop('id')
         db.insert_many(user_table, [userObj])
     db.close()
     self.btn_admin()
Exemple #15
0
 def btn_del(self):
     '''
     删除按钮
     '''
     row = self.getCheckedRow()
     if row != None:
         id = self.tableWidget.item(row, 1).text()
         db = db_class()
         db.open()
         db.delete_many('hero', [{'id': id}])
         db.close()
         self.tabChange(1)
Exemple #16
0
 def btn_see_2(self):
     row = self.getCheckedRow4()
     if row != None:
         try:
             id = self.tableWidget_4.item(row,1).text()
             db =db_class()
             db.open()
             imgData = db.select_scantron_condition(id)
             db.close()
             self.showWin = showWin(imgData[0][0])
             self.showWin.show()
         except Exception as e:
             print(e)
Exemple #17
0
 def login(self):
     username = self.lineEdit_username.text().strip()
     password = self.lineEdit_password.text().strip()
     if username and password:
         db = db_class()
         db.open()
         result = db.select_condition(
             user_table,
             'username="******" and password="******"')
         db.close()
         if result:
             self.Sig_login.emit(list(result[0]))
             self.close()
         else:
             QMessageBox.about(self, '提示', '账号或密码错误!')
Exemple #18
0
 def tabChange(self, index):
     '''
     tab改变时,载入勾选项
     :param index:
     :return:
     '''
     if index == 1:
         db = db_class()
         db.open()
         result = db.select_all_list('hero')
         result_area = db.select_all_area('hero')
         db.close()
         self.load_table(result)
         self.comboBox.clear()
         self.comboBox.addItem('全部')
         self.comboBox.addItems([area[0] for area in result_area])
Exemple #19
0
 def btn_search(self):
     '''
     搜索按钮
     '''
     condition = []
     area = self.comboBox.currentText()
     name = self.lineEdit.text().strip()
     if area != '全部':
         condition.append('area="' + area + '"')
     if name:
         condition.append('name like "%' + name + '%"')
     if condition:
         condition_str = ' and '.join(condition)
         db = db_class()
         db.open()
         result = db.select_condition('hero', condition_str)
         db.close()
         self.load_table(result)
     else:
         self.tabChange(1)
Exemple #20
0
    def __init__(self, parent=None):
        '''
        程序初始化
        :param parent:
        '''
        super(DataAnalysis, self).__init__(parent)
        self.setupUi(self)
        self.retranslateUi(self)

        headerView = self.tableWidget.horizontalHeader()
        headerView.setSectionResizeMode(QHeaderView.Stretch)

        self.pushButton_run.clicked.connect(self.run)
        self.tabWidget.currentChanged.connect(self.tabChange)
        self.pushButton_del.clicked.connect(self.del_data)
        self.pushButton_sel.clicked.connect(self.sel_data)
        self.pushButton_als.clicked.connect(self.analysis)
        self.load()

        self.db = db_class()
Exemple #21
0
 def parser_index(self, url):
     '''
     解析索引页
     :param url: 索引页url
     :return:
     '''
     try:
         db = db_class()
         db.open()
         # 请求索引页
         text = self.requestGET(url, headers)
         if text:
             html = etree.HTML(text)
             skuIds = html.xpath('//em[@class="num"]/@id')
             skuIds = [id.split('_')[-1] for id in skuIds]
             moneys = html.xpath('//em[@class="num"]/text()')
             moneys = [m.strip() for m in moneys if m.strip()]
             titles = html.xpath('//a[@class="mainTitle"]/@title')
             shops = html.xpath('//span[@class="shop_text"]/text()')
             for skuId, money, title, shop in zip(skuIds, moneys, titles,
                                                  shops):
                 obj = copy.deepcopy(item_obj)
                 obj['uid'] = self.uid
                 obj['skuId'] = skuId
                 obj['title'] = title
                 obj['money'] = money
                 obj['shop'] = shop
                 obj['url'] = url_item.format(skuId)
                 obj = self.parser_item(obj)
                 if obj:
                     if db.insert_many(table_name, [obj]):
                         self.sig_one_end.emit(
                             '抓取成功:' + obj['title'] + ' ' + time.strftime(
                                 "%Y-%m-%d %H:%M:%S", time.localtime()))
     except Exception as e:
         print(e)
     finally:
         db.close()
 def load(self):
     db = db_class()
     db.open()
     datas = db.select_all(questions)
     self.load_table_q(datas)
     db.close()
Exemple #23
0
 def btn_admin(self):
     self.stackedWidget.setCurrentIndex(1)
     db = db_class()
     db.open()
     datas = db.select_all(user_table)
     self.load_table(datas)
from card_class import PokemonCard
from gui_class import gui_class
import tkinter
from db_class import db_class

bst = db_class("BST")
#print(bst.get_set())

PC = PokemonCard('BST', bst.get_set()[150])
PC.get_image()

gui_class(tkinter.Tk())
Exemple #25
0
                                            ['siteName', '=', self.siteName]]):
                        self.mylog.logger.warning(
                            '存在!' + li['modelObj']['sectionName'].encode(
                                'gbk', 'ignore').decode('gbk'))
                        print('存在!' + li['modelObj']['sectionName'].encode(
                            'gbk', 'ignore').decode('gbk'))
                        continue
                    OBJ = deepcopy(recognizance)
                    OBJ['siteName'] = self.siteName
                    OBJ['domain'] = self.domain
                    OBJ['projectId'] = seqid
                    OBJ['projectName'] = li['modelObj']['sectionName']
                    OBJ['projectNumber'] = li['modelObj']['sectionNumber']
                    OBJ['projectUrl'] = fzztb_recognizance
                    OBJ['company'] = company
                    self.save([OBJ])
            except Exception as e:
                print(e)
        if index['page']['totalPages'] > page:
            page += 1
            return self.getIndex(page)


if __name__ == '__main__':
    siteName = '马尾区建设工程电子招投标交易平台'
    domain = 'http://www.fzztb.com:25000'
    mylog = MyLogClass()
    db = db_class(mylog)
    f = FzztbRecognizance(siteName, domain, db, mylog)
    f.getIndex(1)
Exemple #26
0
 def load(self):
     db = db_class()
     db.open()
     datas = db.select_condition(user_table, 'rank_id=2')
     self.load_table_q(datas)
     db.close()
Exemple #27
0
 def __init__(self):
     self.mylog = MyLogClass()
     self.db = db_class(self.mylog)