def parseConfigs(self, json_str=None): try: cfg = json.loads(json_str) except Exception: co.log(json_str) co.debugErr() return if type(cfg) != dict: return if self.is_origin: pass elif cfg.get("title"): if not self.title or not self.is_online: self.title = cfg["title"] if cfg.get("url"): if not self.is_online and not self.is_origin: self.url = cfg["url"] self.is_online = True # self.getContent() if cfg.get("icon_idx") is not None: icon_idx = cfg.get("icon_idx") if type(icon_idx) not in (int, long) or \ icon_idx < 0 or icon_idx > len(co.ICONS): icon_idx = 0 self.icon_idx = icon_idx
def getContentFromUrl(self, progress_dlg): co.log("fetch '%s'.." % self.url) if co.httpExists(self.url): if progress_dlg: progress_dlg.Update(10), try: cnt = [] up = 10 url_o = urllib.urlopen(self.url) while True: c = url_o.read(1024) if not c: break cnt.append(c) up += 1 if up < 60: if progress_dlg: progress_dlg.Update(up), cnt = "".join(cnt) if progress_dlg: progress_dlg.Update(60), except Exception: co.debugErr() return "" self.last_fetch_dt = datetime.datetime.now() else: cnt = u"### URL无法访问! ###".encode("utf-8") return cnt
def writeFile(self, path, content, mode="w"): try: path = path.encode(self.local_encoding) except Exception: co.debugErr() open(path, mode).write(content)
def _msg(): if not ver: wx.MessageBox(u"未能取得最新版本号!", caption=u"出错啦!") else: cmp = co.compareVersion(self.version, self.latest_stable_version) try: if cmp >= 0: wx.MessageBox(u"当前已是最新版本!") else: wx.MessageBox(u"更新的稳定版 %s 已经发布!" % self.latest_stable_version) except Exception: co.debugErr() pass
def _msg(): if not ver: wx.MessageBox(u"未能取得最新版本号!", caption=u"出错啦!") else: cmp = co.compareVersion(self.version, self.latest_stable_version) try: if cmp >= 0: wx.MessageBox(u"当前已是最新版本!") else: if wx.MessageBox(u"更新的稳定版 %s 已经发布,现在立刻查看吗?" % self.latest_stable_version, u"发现新版本!", wx.YES_NO | wx.ICON_INFORMATION ) == wx.YES: self.openHomepage() except Exception: co.debugErr() pass