Пример #1
0
    def _Download(self, task):
        try:
            if not isinstance(task.req, req.SpeedTestReq):
                for cachePath in [task.cacheAndLoadPath, task.loadPath]:
                    if cachePath and task.bakParam:
                        data = ToolUtil.LoadCachePicture(cachePath)
                        if data:
                            from src.qt.util.qttask import QtTask
                            QtTask().downloadBack.emit(task.bakParam,
                                                       len(data), data)
                            QtTask().downloadBack.emit(task.bakParam, 0, b"")
                            return
            request = task.req
            if request.params == None:
                request.params = {}

            if request.headers == None:
                request.headers = {}

            r = self.session.get(request.url,
                                 proxies=request.proxy,
                                 headers=request.headers,
                                 stream=True,
                                 timeout=task.timeout,
                                 verify=False)
            # task.res = res.BaseRes(r)
            task.res = r
        except Exception as es:
            task.status = Status.NetError
        self.handler.get(task.req.__class__)(task)
        if task.res:
            task.res.close()
Пример #2
0
    def __call__(self, backData):
        if backData.status != Status.Ok:
            if backData.bakParam:
                QtTask().taskBack.emit(backData.bakParam, "")
        else:
            r = backData.res
            try:
                if r.status_code != 200:
                    if backData.bakParam:
                        QtTask().taskBack.emit(backData.bakParam, "")
                    return

                fileSize = int(r.headers.get('Content-Length', 0))
                getSize = 0
                now = time.time()
                consume = 1
                for chunk in r.iter_content(chunk_size=10240):
                    getSize += len(chunk)
                    consume = time.time() - now
                    if consume >= 2:
                        break

                downloadSize = getSize / consume
                speed = ToolUtil.GetDownloadSize(downloadSize)
                if backData.bakParam:
                    QtTask().taskBack.emit(backData.bakParam, speed)

            except Exception as es:
                Log.Error(es)
                if backData.bakParam:
                    QtTask().taskBack.emit(backData.bakParam, "")
Пример #3
0
    def __call__(self, backData):
        if backData.status != Status.Ok:
            if backData.bakParam:
                QtTask().downloadBack.emit(backData.bakParam, -1, b"")
        else:
            r = backData.res
            try:
                if r.status_code != 200:
                    if backData.bakParam:
                        QtTask().downloadBack.emit(backData.bakParam, -1, b"")
                    return
                fileSize = int(r.headers.get('Content-Length', 0))
                getSize = 0
                data = b""
                for chunk in r.iter_content(chunk_size=1024):
                    if backData.bakParam:
                        QtTask().downloadBack.emit(backData.bakParam, fileSize-getSize, chunk)
                    getSize += len(chunk)
                    data += chunk
                if backData.bakParam:
                    QtTask().downloadBack.emit(backData.bakParam, 0, b"")
                # Log.Info("size:{}, url:{}".format(ToolUtil.GetDownloadSize(fileSize), backData.req.url))
                if backData.cacheAndLoadPath and config.IsUseCache and len(data) > 0:
                    filePath = backData.cacheAndLoadPath
                    fileDir = os.path.dirname(filePath)
                    if not os.path.isdir(fileDir):
                        os.makedirs(fileDir)

                    with open(filePath, "wb+") as f:
                        f.write(data)
                    Log.Debug("add download cache, cachePath:{}".format(filePath))
            except Exception as es:
                Log.Error(es)
                if backData.bakParam:
                    QtTask().downloadBack.emit(backData.bakParam, -1, b"")
Пример #4
0
    def _RecvBroadcastMsg(self, data):
        msg = data.get("message", "")
        name = data.get("name", "")
        info = QtChatRoomMsg()
        info.commentLabel.setText(msg)
        info.nameLabel.setText(name)
        info.numLabel.setText("{}楼".format(str(self.indexMsgId + 1)))

        imageData = data.get("image")
        if not imageData:
            replay = data.get("reply", "")
            replayName = data.get("reply_name", "")
            if replay and replayName:
                info.replayLabel.setText(replayName + "\n" + replay)
                info.replayLabel.setVisible(True)
            else:
                info.replayLabel.setVisible(False)
        else:
            info.replayLabel.setVisible(False)
            image = QPixmap()
            imageData = imageData.split(",", 1)
            if len(imageData) >= 2:
                byte = base64.b64decode(imageData[1])
                image.loadFromData(byte)
            width = info.commentLabel.width()
            height = info.commentLabel.height()
            image.scaled(width, height, Qt.IgnoreAspectRatio,
                         Qt.SmoothTransformation)
            info.commentLabel.setPixmap(image)

        url = data.get("avatar")
        if url and config.IsLoadingPicture:
            if isinstance(url, dict):
                QtTask().AddDownloadTask(url.get("fileServer"),
                                         url.get("path"), None,
                                         self.LoadingPictureComplete, True,
                                         self.indexMsgId, True, self.GetName())
            else:
                QtTask().AddDownloadTask(url, "", None,
                                         self.LoadingPictureComplete, True,
                                         self.indexMsgId, True, self.GetName())
        self.verticalLayout_2.addWidget(info)
        self.msgInfo[self.indexMsgId] = info
        self.indexMsgId += 1
        if len(self.msgInfo) > self.maxMsgInfo:
            removeInfo = self.msgInfo.get(self.removeMsgId)
            if removeInfo:
                removeInfo.setParent(None)
                self.msgInfo.pop(self.removeMsgId)
            self.removeMsgId += 1
        return
Пример #5
0
 def Clear(self):
     self.qtTool.UpdateText("")
     self.qtTool.UpdateProcessBar(None)
     self.bookId = ""
     self.epsId = 0
     self.maxPic = 0
     self.curIndex = 0
     self.frame.scaleCnt = 0
     self.pictureData.clear()
     self.waifu2xIdToIndex.clear()
     self.indexToWaifu2xId.clear()
     self.waitWaifuPicData.clear()
     self.waitPicData.clear()
     QtTask().CancelTasks(self.closeFlag)
     QtTask().CancelConver(self.closeFlag)
Пример #6
0
 def __call__(self, backData):
     from src.index.book import BookMgr
     st = BookMgr().AddBookEpsPicInfoBack(backData)
     if st == Status.WaitLoad:
         return
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, st)
Пример #7
0
    def AddUserItem(self, commnetId, commentsCount, likesCount, content, name, createdTime, floor, url="", path="", originalName="", title="", level=1):
        index = self.count()
        iwidget = QtComment(self)
        iwidget.id = commnetId
        iwidget.commentLabel.setText(content)
        iwidget.nameLabel.setText(name)
        iwidget.numLabel.setText("({})".format(commentsCount))
        iwidget.starLabel.setText("({})".format(likesCount))
        iwidget.levelLabel.setText(" LV" + str(level) + " ")
        iwidget.titleLabel.setText(" " + title + " ")
        if createdTime:
            timeArray, day = ToolUtil.GetDateStr(createdTime)
            if day >= 1:
                iwidget.dateLabel.setText("{}天前".format(str(day)))
            else:
                strTime = "{}:{}:{}".format(timeArray.tm_hour, timeArray.tm_min, timeArray.tm_sec)
                iwidget.dateLabel.setText("{}".format(strTime))

        iwidget.indexLabel.setText("{}楼".format(str(floor)))

        item = QListWidgetItem(self)
        item.setSizeHint(iwidget.sizeHint())
        self.setItemWidget(item, iwidget)
        if url and config.IsLoadingPicture:
            QtTask().AddDownloadTask(url, path, None, self.LoadingPictureComplete, True, index, True, self.GetName())
            pass
Пример #8
0
    def StartSpeedTest(self):
        if len(self.speedTest) <= self.speedIndex:
            self.testSpeedButton.setEnabled(True)
            self.loginButton.setEnabled(True)
            self.registerButton.setEnabled(True)
            return

        address, httpProxy = self.speedTest[self.speedIndex]
        if httpProxy and not config.HttpProxy:
            row = self.speedIndex // 2 + 1
            col = self.speedIndex % 2 + 1
            item = self.gridLayout_4.itemAtPosition(row, col)
            if item:
                item.widget().setText("无代理")
            else:
                label = QLabel("无代理")
                label.setAlignment(Qt.AlignCenter)
                self.gridLayout_4.addWidget(label, row, col, 1, 1)
            self.speedIndex += 1
            self.StartSpeedTest()
            return

        request = req.SpeedTestReq()
        # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MDEyMjg3YzYxYWFlODJmZDJjMGQzNTUiLCJlbWFpbCI6InRvbnF1ZXIyIiwicm9sZSI6Im1lbWJlciIsIm5hbWUiOiJ0b25xdWVyMiIsInZlcnNpb24iOiIyLjIuMS4zLjMuNCIsImJ1aWxkVmVyc2lvbiI6IjQ1IiwicGxhdGZvcm0iOiJhbmRyb2lkIiwiaWF0IjoxNjE0MjQxODY1LCJleHAiOjE2MTQ4NDY2NjV9.ZUmRP319zREBHk3ax_dJh-qeUDFLmOg_RQBPAMWN8II"
        testIp = address
        index = self.speedIndex
        if httpProxy:
            request.proxy = {"http": config.HttpProxy, "https": config.HttpProxy}
        else:
            request.proxy = ""
        QtTask().AddHttpTask(lambda x: Server().TestSpeed(request, x, testIp), self.SpeedTestBack, index)
        return
Пример #9
0
    def AddConvert(self):
        savePath = os.path.join(self.parent.savePath,
                                ToolUtil.GetCanSaveName(self.epsTitle))
        filePath = os.path.join(
            savePath, "{:04}.{}".format(self.curPreConvertId + 1, "jpg"))
        if not os.path.isfile(filePath):
            self.status = DownloadInfo.NotFound
            self.parent.SetConvertStatu(self.status)
            return
        isConvertNext = True
        while self.curPreConvertId < self.picCnt:
            if os.path.isfile(self.curConvertPath):
                self.curPreConvertId += 1
            else:
                isConvertNext = False
                f = open(filePath, "rb")
                data = f.read()
                f.close()

                w, h = ToolUtil.GetPictureSize(data)
                model = ToolUtil.GetDownloadScaleModel(w, h)
                QtTask().AddConvertTask("",
                                        data,
                                        model,
                                        self.AddConvertBack,
                                        cleanFlag="download_{}".format(
                                            self.parent.bookId))
                break
        self.parent.UpdateTableItem()
        if isConvertNext:
            self.StartConvert()
        return
Пример #10
0
    def Login(self):
        self.SetSelectIp()
        userId = self.userIdEdit.text()
        passwd = self.passwdEdit.text()
        User().SetUserInfo(userId, passwd)
        QtTask().AddHttpTask(lambda x: User().Login(x), self.LoginBack)

        self.owner().loadingForm.show()
Пример #11
0
 def __call__(self, backData):
     if backData.res.code == 200:
         if backData.res.data.get("action") == "un_favourite":
             pass
         else:
             pass
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, Status.Ok)
Пример #12
0
 def ShowImg(self, data):
     if data:
         self.data = data
         self.waifu2xData = b""
         QtTask().CancelConver("QtImg")
         self._ShowImg(data)
     elif self.data:
         self._ShowImg(self.data)
     else:
         pass
Пример #13
0
 def AddCovertData(self, picInfo, i):
     info = self.pictureData[i]
     if not info and info.data:
         return
     assert isinstance(info, QtFileData)
     # path = self.owner().downloadForm.GetConvertFilePath(self.bookId, self.epsId, i)
     QtTask().AddConvertTask(picInfo.path + info.model, info.data,
                             info.model, self.Waifu2xBack, i,
                             self.closeFlag)
     self.waitWaifuPicData.add(i)
Пример #14
0
 def AddBookItem(self, _id, title, info="", url="", path="", param="", originalName=""):
     index = self.count()
     iwidget = ItemWidget(_id, title, str(index+1), info, param, self)
     item = QListWidgetItem(self)
     item.setSizeHint(iwidget.sizeHint())
     self.setItemWidget(item, iwidget)
     iwidget.picIcon.setText("图片加载中...")
     if url and path and config.IsLoadingPicture:
         QtTask().AddDownloadTask(url, path, None, self.LoadingPictureComplete, True, index, True, self.GetName())
         pass
Пример #15
0
 def StartWaifu2x(self):
     if not QtImgMgr().data:
         return
     self.comboBox.setEnabled(False)
     self.changeButton.setEnabled(False)
     self.index = self.comboBox.currentIndex()
     index = self.comboBox.currentIndex()
     model = ToolUtil.GetModelByIndex(index)
     QtTask().AddConvertTask("", QtImgMgr().data, model, self.AddConvertBack,
                             cleanFlag="QtImg")
     self.changeButton.setText("正在转换")
     return
Пример #16
0
 def AddDownload(self):
     bookInfo = BookMgr().books.get(self.parent.bookId)
     epsInfo = bookInfo.eps[self.epsId]
     picInfo = epsInfo.pics[self.curPreDownloadIndex]
     self.picCnt = len(epsInfo.pics)
     if os.path.isfile(self.curSavePath):
         self.curPreDownloadIndex += 1
         return self.StartDownload()
     QtTask().AddDownloadTask(picInfo.fileServer,
                              picInfo.path,
                              downloadCallBack=self.AddDownloadBack,
                              completeCallBack=self.AddDownloadCompleteBack,
                              isSaveCache=False,
                              cleanFlag="download_".format(self.parent.bookId))
Пример #17
0
 def AddDownloadTask(self, i, picInfo):
     path = self.owner().downloadForm.GetDonwloadFilePath(
         self.bookId, self.epsId, i)
     QtTask().AddDownloadTask(picInfo.fileServer,
                              picInfo.path,
                              downloadCallBack=self.UpdateProcessBar,
                              completeCallBack=self.CompleteDownloadPic,
                              backParam=i,
                              isSaveCache=True,
                              cleanFlag=self.closeFlag,
                              filePath=path)
     self.waitPicData.add(i)
     if i not in self.pictureData:
         data = QtFileData()
         self.pictureData[i] = data
Пример #18
0
    def __call__(self, backData):
        updateInfo = re.findall(r"<meta property=\"og:description\" content=\"([^\"]*)\"", backData.res.raw.text)
        if updateInfo:
            data = updateInfo[0]
        else:
            data = ""

        info = re.findall(r"\d+\d*", os.path.basename(backData.res.raw.url))
        version = int(info[0]) * 100 + int(info[1]) * 10 + int(info[2]) * 1
        info2 = re.findall(r"\d+\d*", os.path.basename(config.UpdateVersion))
        curversion = int(info2[0]) * 100 + int(info2[1]) * 10 + int(info2[2]) * 1

        data = "\n\nv" + ".".join(info) + "\n" + data
        if version > curversion:
            if backData.bakParam:
                QtTask().taskBack.emit(backData.bakParam, data)
Пример #19
0
    def StartWaifu2x(self, format):
        if not self.data:
            return False
        if not config.CanWaifu2x:
            return False
        from waifu2x_vulkan import waifu2x_vulkan
        self.SetStatus(False)
        self.index = self.comboBox.currentIndex()
        index = self.comboBox.currentIndex()
        noise = int(self.noiseCombox.currentText())
        if index == 0:
            modelName = "CUNET"
        elif index == 1:
            modelName = "PHOTO"
        elif index == 2:
            modelName = "ANIME_STYLE_ART_RGB"
        else:
            return False
        if noise == -1:
            noiseName = "NO_NOISE"
        else:
            noiseName = "NOISE"+str(noise)
        if modelName == "CUNET" and self.scaleRadio.isChecked() and round(float(self.scaleEdit.text()), 1) <= 1:
            modelInsence = "MODEL_{}_NO_SCALE_{}".format(modelName, noiseName)
        else:
            modelInsence = "MODEL_{}_{}".format(modelName, noiseName)
        if self.ttaModel.isChecked():
            modelInsence += "_TTA"

        model = {
            "model":  getattr(waifu2x_vulkan, modelInsence),
        }
        if self.scaleRadio.isChecked():
            model['scale'] = round(float(self.scaleEdit.text()), 1)
        else:
            model['width'] = int(self.widthEdit.text())
            model['high'] = int(self.heighEdit.text())
        model['format'] = format
        self.backStatus = self.GetStatus()
        QtTask().AddConvertTask(self.data, model, self.AddConvertBack,
                                cleanFlag="QtImg")
        self.changeLabel.setText(self.tr("正在转换"))
        return True
Пример #20
0
    def AddConvert(self):
        savePath = os.path.join(self.parent.savePath, ToolUtil.GetCanSaveName(self.epsTitle))
        filePath = os.path.join(savePath, "{:04}.{}".format(self.curPreConvertId + 1, "jpg"))
        if not os.path.isfile(filePath):
            self.status = DownloadInfo.Error
            self.parent.SetConvertStatu(self.status)
            return
        if os.path.isfile(self.curConvertPath):
            self.curPreConvertId += 1
            return self.StartConvert()
        f = open(filePath, "rb")
        data = f.read()
        f.close()

        w, h = ToolUtil.GetPictureSize(data)
        model = ToolUtil.GetDownloadScaleModel(w, h)
        QtTask().AddConvertTask("", data, model, self.AddConvertBack,
                                cleanFlag="download_".format(self.parent.bookId))
        return
Пример #21
0
 def ShowImg(self, data):
     if data:
         self.data = data
         self.waifu2xData = None
         QtTask().CancelConver("QtImg")
         self.obj.comboBox.setEnabled(True)
         self.obj.changeButton.setEnabled(True)
         self.obj.changeButton.setText("转换")
         self.obj.ShowImg(data)
     elif self.data:
         self.obj.comboBox.setEnabled(True)
         self.obj.changeButton.setEnabled(True)
         self.obj.changeButton.setText("转换")
         self.obj.ShowImg(self.data)
     else:
         self.obj.comboBox.setEnabled(True)
         self.obj.changeButton.setEnabled(True)
         self.obj.changeButton.setText("转换")
         self.obj.show()
Пример #22
0
 def AddDownload(self):
     bookInfo = BookMgr().books.get(self.parent.bookId)
     epsInfo = bookInfo.eps[self.epsId]
     isDownloadNext = True
     while self.curPreDownloadIndex < len(epsInfo.pics):
         bookInfo = BookMgr().books.get(self.parent.bookId)
         epsInfo = bookInfo.eps[self.epsId]
         picInfo = epsInfo.pics[self.curPreDownloadIndex]
         self.picCnt = len(epsInfo.pics)
         if os.path.isfile(self.curSavePath):
             self.curPreDownloadIndex += 1
         else:
             isDownloadNext = False
             QtTask().AddDownloadTask(
                 picInfo.fileServer,
                 picInfo.path,
                 downloadCallBack=self.AddDownloadBack,
                 completeCallBack=self.AddDownloadCompleteBack,
                 isSaveCache=False,
                 cleanFlag="download_{}".format(self.parent.bookId))
             break
     self.parent.UpdateTableItem()
     if isDownloadNext:
         self.StartDownload()
Пример #23
0
 def Init(self):
     self.owner().loadingForm.show()
     QtTask().AddHttpTask(lambda x: User().Init(x), self.InitBack)
     return
Пример #24
0
 def __call__(self, backData):
     from src.user.user import User
     st = User().RegisterBack(backData)
     time.sleep(0.1)
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, st)
Пример #25
0
 def __call__(self, backData):
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, backData.res.raw.text)
Пример #26
0
 def __call__(self, backData):
     from src.user.user import User
     st = User().PunchedBack(backData)
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, st)
Пример #27
0
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.userInfo = None
        self.setupUi(self)
        self.setWindowTitle("哔咔漫画")
        self.msgForm = QtBubbleLabel(self)

        self.qtTask = QtTask()

        icon = QIcon()
        pic = QPixmap()
        pic.loadFromData(resources.DataMgr.GetData("logo_round"))
        icon.addPixmap(pic, QIcon.Normal, QIcon.Off)
        self.setWindowIcon(icon)
        self.aboutForm = QtAbout(self)

        self.indexForm = QtIndex(self)
        self.searchForm = QtSearch(self)
        self.favoriteForm = QtFavorite(self)
        self.downloadForm = QtDownload(self)
        self.categoryForm = QtCategory(self)
        self.loadingForm = QtLoading(self)
        self.leaveMsgForm = QtLeaveMsg(self)
        self.chatForm = QtChat(self)
        self.rankForm = QtRank(self)

        self.loginForm = QtLogin(self)
        self.registerForm = QtRegister(self)

        self.historyForm = QtHistory(self)

        self.qtReadImg = QtReadImg(self)

        self.userForm = QtUser(self)
        self.bookInfoForm = QtBookInfo(self)

        self.epsInfoForm = QtEpsInfo(self)

        self.task = QtTask()
        self.task.SetOwner(self)
        self.timer = QTimer(self)
        self.timer.setInterval(100)
        # self.timer.timeout.connect(self.OnTimeOut)
        # self.timer.start()

        self.stackedWidget.addWidget(self.loginForm)
        self.stackedWidget.addWidget(self.userForm)

        self.settingForm = QtSetting(self)
        self.settingForm.LoadSetting()

        self.resize(self.settingForm.mainSize)
        self.bookInfoForm.resize(self.settingForm.bookSize)
        self.qtReadImg.resize(self.settingForm.readSize)

        self.loginForm.userIdEdit.setText(self.settingForm.userId)
        self.loginForm.passwdEdit.setText(self.settingForm.passwd)

        self.menusetting.triggered.connect(self.OpenSetting)
        self.menuabout.triggered.connect(self.OpenAbout)
Пример #28
0
class BikaQtMainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.userInfo = None
        self.setupUi(self)
        self.setWindowTitle("哔咔漫画")
        self.msgForm = QtBubbleLabel(self)

        self.qtTask = QtTask()

        icon = QIcon()
        pic = QPixmap()
        pic.loadFromData(resources.DataMgr.GetData("logo_round"))
        icon.addPixmap(pic, QIcon.Normal, QIcon.Off)
        self.setWindowIcon(icon)
        self.aboutForm = QtAbout(self)

        self.indexForm = QtIndex(self)
        self.searchForm = QtSearch(self)
        self.favoriteForm = QtFavorite(self)
        self.downloadForm = QtDownload(self)
        self.categoryForm = QtCategory(self)
        self.loadingForm = QtLoading(self)
        self.leaveMsgForm = QtLeaveMsg(self)
        self.chatForm = QtChat(self)
        self.rankForm = QtRank(self)

        self.loginForm = QtLogin(self)
        self.registerForm = QtRegister(self)

        self.historyForm = QtHistory(self)

        self.qtReadImg = QtReadImg(self)

        self.userForm = QtUser(self)
        self.bookInfoForm = QtBookInfo(self)

        self.epsInfoForm = QtEpsInfo(self)

        self.task = QtTask()
        self.task.SetOwner(self)
        self.timer = QTimer(self)
        self.timer.setInterval(100)
        # self.timer.timeout.connect(self.OnTimeOut)
        # self.timer.start()

        self.stackedWidget.addWidget(self.loginForm)
        self.stackedWidget.addWidget(self.userForm)

        self.settingForm = QtSetting(self)
        self.settingForm.LoadSetting()

        self.resize(self.settingForm.mainSize)
        self.bookInfoForm.resize(self.settingForm.bookSize)
        self.qtReadImg.resize(self.settingForm.readSize)

        self.loginForm.userIdEdit.setText(self.settingForm.userId)
        self.loginForm.passwdEdit.setText(self.settingForm.passwd)

        self.menusetting.triggered.connect(self.OpenSetting)
        self.menuabout.triggered.connect(self.OpenAbout)

    # def ClearExpiredCache(self):
    #     try:
    #         toPath = os.path.join(config.SavePath, config.CachePathDir)
    #         for root, dirs, names in os.walk(toPath):
    #             for name in names:
    #                 isDel = False
    #                 filename = os.path.join(root, name)
    #                 with open(filename, "rb") as f:
    #                     nameSize = int().from_bytes(f.read(2), byteorder='little')
    #                     timeTick = int().from_bytes(f.read(4), byteorder='little')
    #                     # if int(time.time()) - timeTick >= config.CacheExpired:
    #                     #     isDel = True
    #
    #                 if isDel:
    #                     os.remove(filename)
    #
    #     except Exception as es:
    #         Log.Error(es)


    # def OnTimeOut(self):
    #     self.task.run()

    def closeEvent(self, a0: QtGui.QCloseEvent) -> None:
        super().closeEvent(a0)
        userId = self.loginForm.userIdEdit.text()
        passwd = self.loginForm.passwdEdit.text()
        self.bookInfoForm.close()
        self.settingForm.ExitSaveSetting(self.size(), self.bookInfoForm.size(), self.qtReadImg.size(), userId, passwd)

    def Init(self):
        if config.CanWaifu2x:
            import waifu2x
            stat = waifu2x.Init(config.Encode, config.Waifu2xThread)
            if stat < 0:
                self.msgForm.ShowError("waifu2x初始化错误")
            gpuInfo = waifu2x.GetGpuInfo()
            if gpuInfo:
                self.settingForm.SetGpuInfos(gpuInfo)
            Log.Info("waifu2x初始化: " + str(stat) + " encode: " + str(config.Encode))
        else:
            self.msgForm.ShowError("waifu2x无法启用, "+config.ErrorMsg)
            self.settingForm.checkBox.setEnabled(False)
            self.qtReadImg.frame.qtTool.checkBox.setEnabled(False)
            self.downloadForm.autoConvert = False
            self.downloadForm.radioButton.setEnabled(False)
            QtImgMgr().obj.radioButton.setEnabled(False)
            QtImgMgr().obj.changeButton.setEnabled(False)
            QtImgMgr().obj.changeButton.setEnabled(False)
            QtImgMgr().obj.comboBox.setEnabled(False)
            config.IsOpenWaifu = 0

        self.InitUpdate()
        self.loginForm.Init()
        return

    def OpenSetting(self):
        self.settingForm.show()
        pass

    def OpenAbout(self, action):
        if action.text() == "about":
            self.aboutForm.show()
        elif action.text() == "img convert":
            QtImgMgr().ShowImg("")
        pass

    def InitUpdate(self):
        self.qtTask.AddHttpTask(lambda x: Server().Send(req.CheckUpdateReq(), bakParam=x), self.InitUpdateBack)

    def InitUpdateBack(self, data):
        try:
            r = QMessageBox.information(self, "更新", "当前版本{} ,检查到更新,是否前往更新\n{}".format(config.UpdateVersion,
                                                                                        data),
                                         QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
            if r == QMessageBox.Yes:
                QDesktopServices.openUrl(QUrl(config.UpdateUrl2))
        except Exception as es:
            Log.Error(es)
Пример #29
0
 def __call__(self, backData):
     from src.index.category import CateGoryMgr
     CateGoryMgr().UpdateCateGoryBack(backData)
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, Status.Ok)
Пример #30
0
 def __call__(self, backData):
     from src.user.user import User
     st, page = User().UpdateFavoritesBack(backData)
     time.sleep(0.1)
     if backData.bakParam:
         QtTask().taskBack.emit(backData.bakParam, st)