def coro(): altpath = getEngineDataPrefix() if pgn.scoutfish_path is None and conf.get("download_scoutfish", False): binary = "https://github.com/pychess/scoutfish/releases/download/20170627/%s" % pgn.scoutfish filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, pgn.scoutfish)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) pgn.scoutfish_path = dest if pgn.chess_db_path is None and conf.get("download_chess_db", False): binary = "https://github.com/pychess/chess_db/releases/download/20170627/%s" % pgn.parser filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, pgn.parser)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) pgn.chess_db_path = dest if TimeSeal.timestamp_path is None and conf.get("download_timestamp", False): binary = "http://download.chessclub.com.s3.amazonaws.com/timestamp/%s" % TimeSeal.timestamp filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, TimeSeal.timestamp)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) TimeSeal.timestamp_path = dest
def coro(): altpath = getEngineDataPrefix() if pgn.scoutfish_path is None and conf.get("download_scoutfish", False): binary = "https://github.com/pychess/scoutfish/releases/download/20170627/%s" % pgn.scoutfish filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, pgn.scoutfish)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) pgn.scoutfish_path = dest if pgn.chess_db_path is None and conf.get("download_chess_db", False): binary = "https://github.com/pychess/chess_db/releases/download/20170627/%s" % pgn.parser filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, pgn.parser)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) pgn.chess_db_path = dest if TimeSeal.timestamp_path is None and conf.get("download_timestamp", False): binary = "https://www.chessclub.com/user/resources/icc/timestamp/%s" % TimeSeal.timestamp filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, TimeSeal.timestamp)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) TimeSeal.timestamp_path = dest
def checkversion(): if isgit(): return new_version = None filename = yield from download_file_async(URL) if filename is not None: with open(filename, encoding="utf-8") as f: new_version = json.loads(f.read())["name"] def notify(new_version): msg_dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK) msg = _("<b>New version %s is available!</b>" % new_version) msg_dialog.set_markup(msg) msg_dialog.format_secondary_markup('<a href="%s">%s</a>' % (LINK, LINK)) msg_dialog.connect("response", lambda msg_dialog, a: msg_dialog.hide()) msg_dialog.show() if new_version is not None and VERSION.split(".") < new_version.split("."): GLib.idle_add(notify, new_version)