Пример #1
0
 def PunchedBack(self, backData):
     if backData.res.code == 200:
         Log.Info("签到成功")
         # self.UpdateUserInfo()
         # self.UpdateFavorites()
         return Status.Ok
     else:
         Log.Info("签到失败!!!, userId:{}, msg:{}".format(
             self.userId, backData.res.message))
         return Status.Error + backData.res.message
Пример #2
0
 def RegisterBack(self, backData):
     try:
         if backData.status != Status.Ok:
             return backData.status
         if backData.res.code == 200:
             Log.Info("注册成功: {}".format(backData.res.raw.text))
             return Status.Ok
         else:
             Log.Info("注册失败!!!, userId:{}, msg:{}".format(
                 self.userId, backData.res.message))
             return Status.RegisterError + backData.res.message
     except Exception as es:
         Log.Error(es)
         return Status.NetError
Пример #3
0
 def InitBack(self, backData):
     try:
         if backData.status == Status.Ok and backData.res.status == "ok":
             if len(backData.res.addresses) > 0:
                 self.addresss = backData.res.addresses[:]
             #     self.address = backData.res.addresses[0]
             Log.Info("初始化成功,  Ips:{}".format(self.addresss))
             self.initRes = backData.res
             return Status.Ok
         else:
             Log.Info("初始化失败, info:{}".format(backData.res))
             return Status.Error
     except Exception as es:
         Log.Error(es)
         return Status.Error
Пример #4
0
 def AddConvertTask(self,
                    path,
                    imgData,
                    model,
                    completeCallBack,
                    backParam=None,
                    cleanFlag="",
                    filePath=""):
     info = QtDownloadTask()
     info.downloadCompleteBack = completeCallBack
     info.backParam = backParam
     self.taskId += 1
     self.convertLoad[self.taskId] = info
     info.downloadId = self.taskId
     info.imgData = imgData
     info.model = model
     if path:
         a = hashlib.md5(path.encode("utf-8")).hexdigest()
         path = os.path.join(
             os.path.join(config.SavePath, config.CachePathDir),
             config.Waifu2xPath)
         path = os.path.join(path, a)
         info.cacheAndLoadPath = path
     info.loadPath = filePath
     if cleanFlag:
         info.cleanFlag = cleanFlag
         taskIds = self.convertFlag.setdefault(cleanFlag, set())
         taskIds.add(self.taskId)
     Log.Debug("add convert info, cachePath:{}, loadPath:{}".format(
         info.cacheAndLoadPath, info.loadPath))
     self._inQueue.put(self.taskId)
     Log.Info(
         "add convert info, taskId: {}, converId:{} backParam:{}".format(
             str(self.taskId), str(self.convertId), backParam))
     return self.taskId
Пример #5
0
    def Init(self, app):
        self.settingForm.SetLanguage(app, self)
        if config.CanWaifu2x:
            from waifu2x_vulkan import waifu2x_vulkan
            stat = waifu2x_vulkan.init()
            if stat < 0:
                self.msgForm.ShowError("Waifu2x CPU Model")
            waifu2x_vulkan.setDebug(True)

            gpuInfo = waifu2x_vulkan.getGpuInfo()
            cpuNum = waifu2x_vulkan.getCpuCoreNum()
            self.settingForm.SetGpuInfos(gpuInfo, cpuNum)

            self.settingForm.exec()
            self.settingForm.SetLanguage(app, self)
            waifu2x_vulkan.initSet(config.Encode, config.UseCpuNum)

            self.img.gpuName.setText(config.EncodeGpu)
            Log.Info("waifu2x init: " + str(stat) + " encode: " +
                     str(config.Encode) + " version:" +
                     waifu2x_vulkan.getVersion())
            # self.msgForm.ShowMsg("waifu2x初始化成功\n" + waifu2x.getVersion())
        else:
            self.msgForm.ShowError("Waifu2x can not use, " + config.ErrorMsg)
            self.img.checkBox.setEnabled(False)
            self.img.changeJpg.setEnabled(False)
            self.img.changePng.setEnabled(False)
            self.img.comboBox.setEnabled(False)
            self.img.SetStatus(False)
            config.IsOpenWaifu = 0

        return
Пример #6
0
 def UpdateFavoritesBack(self, backData):
     try:
         if backData.status != Status.Ok:
             return backData.status, self.page
         if backData.res.code == 200:
             info = backData.res.data.get("comics", {})
             self.total = info["total"]
             self.page = info["page"]
             self.pages = info["pages"]
             self.category[self.page] = []
             for bookInfo in info["docs"]:
                 data = CategoryInfo()
                 ToolUtil.ParseFromData(data, bookInfo)
                 self.category[self.page].append(data)
             Log.Info("收藏夹加载成功, page:{}, pages:{}, num:{}".format(
                 self.page, self.pages, self.total))
             return Status.Ok, self.page
         else:
             return Status.Error + backData.res.message, self.page
     except Exception as e:
         import sys
         cur_tb = sys.exc_info()[
             2]  # return (exc_type, exc_value, traceback)
         e = sys.exc_info()[1]
         Log.Error(cur_tb, e)
         return Status.Error + e, self.page
Пример #7
0
    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
Пример #8
0
    def AddConvertTask(self,
                       url,
                       path,
                       imgData,
                       completeCallBack=None,
                       backParam=None,
                       cleanFlag=""):
        info = QtDownloadTask()
        info.downloadCompleteBack = completeCallBack
        info.backParam = backParam
        info.url = url
        info.path = path
        self.taskId += 1
        self.convertLoad[self.taskId] = info
        data = self.LoadConvertCachePicture(url, path)
        if data:
            info.saveData = data
            self.HandlerConvertTask(self.taskId, isCallBack=False)
            return self.taskId

        converId = waifu2x.Add(imgData, config.Format, config.Noise,
                               config.Scale, self.taskId)
        Log.Info(
            "add convert info, taskId: {}, converId:{} backParam:{}".format(
                str(self.taskId), str(self.convertId), backParam))
        if converId <= 0:
            return 0
        if cleanFlag:
            info.cleanFlag = cleanFlag
            taskIds = self.convertFlag.setdefault(cleanFlag, set())
            taskIds.add(self.taskId)
        return self.taskId
Пример #9
0
 def RegisterBack(self, backData):
     try:
         if backData.status != Status.Ok:
             return backData.status
         if backData.res.code == 200:
             Log.Info("注册成功: {}".format(backData.res.raw.text))
             return Status.Ok
         else:
             Log.Info("注册失败!!!, userId:{}, msg:{}".format(
                 self.userId, backData.res.message))
             return Status.RegisterError + backData.res.message
     except Exception as es:
         import sys
         cur_tb = sys.exc_info()[
             2]  # return (exc_type, exc_value, traceback)
         e = sys.exc_info()[1]
         Log.Error(cur_tb, e)
         return Status.NetError
Пример #10
0
 def CancelConver(self, cleanFlag):
     taskIds = self.convertFlag.get(cleanFlag, set())
     if not taskIds:
         return
     for taskId in taskIds:
         if taskId in self.convertLoad:
             del self.convertLoad[taskId]
     Log.Info("cancel convert taskId, {}".format(taskIds))
     self.convertFlag.pop(cleanFlag)
     waifu2x.Delete(list(taskIds))
Пример #11
0
 def InitBack(self, backData):
     try:
         if backData.status == Status.Ok and backData.res.status == "ok":
             if len(backData.res.addresses) > 0:
                 self.addresss = backData.res.addresses[:]
             #     self.address = backData.res.addresses[0]
             Log.Info("初始化成功,  Ips:{}".format(self.addresss))
             self.initRes = backData.res
             return Status.Ok
         else:
             Log.Info("初始化失败, info:{}".format(backData.res))
             return Status.Error
     except Exception as es:
         import sys
         cur_tb = sys.exc_info()[
             2]  # return (exc_type, exc_value, traceback)
         e = sys.exc_info()[1]
         Log.Error(cur_tb, e)
         return Status.Error
Пример #12
0
    def LoginBack(self, backData):
        try:
            if backData.status != Status.Ok:
                return backData.status

            if backData.res.code == 200 and backData.res.data.get("token"):
                self.isLogin = True
                self.token = backData.res.data.get("token")
                self.server.token = self.token
                Log.Info("登陆成功,userId: {}".format(self.userId))
                if self.server.address:
                    self.server.Send(req.InitAndroidReq())
                return Status.Ok
            else:
                Log.Info("登陆失败!!!, userId:{}, msg:{}".format(
                    self.userId, backData.res.message))
                return Status.UserError + backData.res.message
        except Exception as es:
            Log.Error(es)
            return Status.NetError
Пример #13
0
 def LeaveRoom(self):
     Log.Info("level room, Url:{}".format(self.url))
     self.timer.stop()
     self.close()
     self.url = ""
     for info in self.msgInfo.values():
         info.setParent(None)
     self.msgInfo.clear()
     self.indexMsgId = 0
     self.removeMsgId = 0
     return
Пример #14
0
    def Init(self):
        stat = waifu2x.Init(config.Encode, config.Waifu2xThread)
        if stat < 0:
            self.msgForm.ShowError("waifu2x初始化错误")

        Log.Info("waifu2x初始化: " + str(stat) + " encode: " + str(config.Encode))
        gpuInfo = waifu2x.GetGpuInfo()
        self.settingForm.SetGpuInfos(gpuInfo)

        self.InitUpdate()
        self.loginForm.Init()
        return
Пример #15
0
 def CancelConver(self, cleanFlag):
     taskIds = self.convertFlag.get(cleanFlag, set())
     if not taskIds:
         return
     for taskId in taskIds:
         if taskId in self.convertLoad:
             del self.convertLoad[taskId]
     Log.Info("cancel convert taskId, {}".format(taskIds))
     self.convertFlag.pop(cleanFlag)
     if config.CanWaifu2x:
         from waifu2x_vulkan import waifu2x_vulkan
         waifu2x_vulkan.remove(list(taskIds))
Пример #16
0
 def UpdateCateGoryBack(self, backData):
     for info in backData.res.data.get("categories", {}):
         if info.get("isWeb"):
             continue
         # 兼容下图片加载失败
         if info.get("thumb").get('fileServer') == "https://wikawika.xyz/static/":
             info["thumb"]["fileServer"] = 'https://storage1.picacomic.com'
         newInfo = CateGoryBase()
         ToolUtil.ParseFromData(newInfo, info)
         self.idToCateGoryBase.append(newInfo)
     Log.Info("初始化目录成功。。。")
     return
Пример #17
0
    def SetGpuInfos(self, gpuInfo):
        self.gpuInfos = gpuInfo
        if config.Encode >= len(self.gpuInfos):
            config.Encode = 0

        if not self.gpuInfos:
            return
        for info in self.gpuInfos:
            self.encodeSelect.addItem(info)
        self.encodeSelect.setCurrentIndex(config.Encode)
        Log.Info("waifu2x GPU: " + str(self.gpuInfos))
        return
Пример #18
0
    def LoginBack(self, backData):
        try:
            if backData.status != Status.Ok:
                return backData.status

            if backData.res.code == 200 and backData.res.data.get("token"):
                self.isLogin = True
                self.token = backData.res.data.get("token")
                self.server.token = self.token
                Log.Info("登陆成功,userId: {}".format(self.userId))
                if self.server.address:
                    self.server.Send(req.InitAndroidReq())
                return Status.Ok
            else:
                Log.Info("登陆失败!!!, userId:{}, msg:{}".format(
                    self.userId, backData.res.message))
                return Status.UserError + backData.res.message
        except Exception as es:
            import sys
            cur_tb = sys.exc_info()[
                2]  # return (exc_type, exc_value, traceback)
            e = sys.exc_info()[1]
            Log.Error(cur_tb, e)
            return Status.NetError
Пример #19
0
    def Init(self):
        # self.ClearExpiredCache()
        waifu2x.Set(config.Waifu2xThread, config.Encode,
                    getattr(config, "Model" + str(config.Model)))
        stat = waifu2x.Init()
        if stat < 0:
            self.msgForm.ShowError("waifu2x初始化错误")

        Log.Info("waifu2x初始化: " + str(stat) + " encode: " + str(config.Encode))
        gpuInfo = waifu2x.GetGpuInfo()
        self.settingForm.SetGpuInfos(gpuInfo)

        self.InitUpdate()
        self.loginForm.Init()
        return
Пример #20
0
    def InitImageServer(self, backData):
        try:
            if backData.res.code == 200:
                # 选择了分流才设置
                if self.server.address:
                    self.server.imageServer = ToolUtil.GetUrlHost(
                        backData.res.data["imageServer"])
                    Log.Info("初始化图片服务器成功, info:{}".format(
                        self.server.imageServer))

                return Status.Ok
            else:
                return Status.Error
        except Exception as es:
            Log.Error(es)
            return Status.Error
Пример #21
0
    def InitImageServer(self, backData):
        try:
            if backData.res.code == 200:
                # 选择了分流才设置
                if self.server.address:
                    self.server.imageServer = ToolUtil.GetUrlHost(
                        backData.res.data["imageServer"])
                    Log.Info("初始化图片服务器成功, info:{}".format(
                        self.server.imageServer))

                return Status.Ok
            else:
                return Status.Error
        except Exception as es:
            import sys
            cur_tb = sys.exc_info()[
                2]  # return (exc_type, exc_value, traceback)
            e = sys.exc_info()[1]
            Log.Error(cur_tb, e)
            return Status.Error
Пример #22
0
 def UpdateFavoritesBack(self, backData):
     try:
         if backData.status != Status.Ok:
             return backData.status, self.page
         if backData.res.code == 200:
             info = backData.res.data.get("comics", {})
             self.total = info["total"]
             self.page = info["page"]
             self.pages = info["pages"]
             self.category[self.page] = []
             for bookInfo in info["docs"]:
                 data = CategoryInfo()
                 ToolUtil.ParseFromData(data, bookInfo)
                 self.category[self.page].append(data)
             Log.Info("收藏夹加载成功, page:{}, pages:{}, num:{}".format(
                 self.page, self.pages, self.total))
             return Status.Ok, self.page
         else:
             return Status.Error + backData.res.message, self.page
     except Exception as es:
         Log.Error(es)
         return Status.Error, self.page
Пример #23
0
    def SetGpuInfos(self, gpuInfo, cpuNum):
        self.gpuInfos = gpuInfo
        config.EncodeGpu = config.SelectEncodeGpu

        if not self.gpuInfos:
            config.EncodeGpu = "CPU"
            config.Encode = -1
            self.encodeSelect.addItem(config.EncodeGpu)
            self.encodeSelect.setCurrentIndex(0)
            return

        if not config.EncodeGpu or (config.EncodeGpu != "CPU"
                                    and config.EncodeGpu not in self.gpuInfos):
            config.EncodeGpu = self.gpuInfos[0]
            config.Encode = 0

        index = 0
        for info in self.gpuInfos:
            self.encodeSelect.addItem(info)
            if info == config.EncodeGpu:
                self.encodeSelect.setCurrentIndex(index)
                config.Encode = index
            index += 1

        self.encodeSelect.addItem("CPU")
        if config.EncodeGpu == "CPU":
            config.Encode = -1
            self.encodeSelect.setCurrentIndex(index)

        if config.UseCpuNum > cpuNum:
            config.UseCpuNum = cpuNum
        for i in range(cpuNum):
            self.threadSelect.addItem(str(i + 1))
        self.threadSelect.setCurrentIndex(config.UseCpuNum)
        Log.Info("waifu2x GPU: " + str(self.gpuInfos) + ",select: " +
                 str(config.EncodeGpu) + ",use cpu num: " +
                 str(config.UseCpuNum))
        return
Пример #24
0
 def ReceviveMsg(self, msg):
     Log.Info("recv websocket info: " + msg)
     if msg == "3":
         self.RecvPong()
     elif msg[:2] == "42":
         data = json.loads(msg[2:])
         if len(data) < 2:
             return
         elif data[0] == "new_connection":
             self._UpdateOnline(data[1])
         elif data[0] == "broadcast_message":
             self._RecvBroadcastMsg(data[1])
         elif data[0] == "broadcast_ads":
             self._RecvAdsMsg(data[1])
         elif data[0] == "broadcast_image":  # receive_notification
             self._RecvBroadcastMsg(data[1])
         elif data[0] == "receive_notification":
             pass
         elif data[0] == "broadcast_audio":
             self._RecvBroadcastMsg(data[1])
         else:
             a = data[1]
     return
Пример #25
0
    def SetLanguage(self, app, owner):
        language = config.Language

        # Auto
        if language == 0:
            locale = QLocale.system().name()
            Log.Info("Init translate {}".format(locale))
            if locale[:3].lower() == "zh_":
                if locale.lower() == "zh_cn":
                    language = 1
                else:
                    language = 2
            else:
                language = 3

        if language == 1:
            app.removeTranslator(self.translate)
        elif language == 2:
            self.translate.load(":/tr_hk.qm")
            app.installTranslator(self.translate)
        else:
            self.translate.load(":/tr_en.qm")
            app.installTranslator(self.translate)
        owner.RetranslateUi()
Пример #26
0
 def SendPing(self):
     msg = "2"
     self.socket.Send(msg)
     Log.Info("recv websocket info: ping")
Пример #27
0
 def JoinRoom(self):
     Log.Info("join room, Url:{}".format(self.url))
     self.LoginRoom()
     self.timer.start()
     self.loadingForm.close()
     return