def METHOD_NAME(self, button):
    async def coro():
        altpath = getEngineDataPrefix()
        if pgn.scoutfish_path is None and conf.get("download_scoutfish"):
            binary = (
                "https://github.com/pychess/scoutfish/releases/download/20170627/%s"
                % pgn.scoutfish
            )
            filename = await 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"):
            binary = (
                "https://github.com/pychess/chess_db/releases/download/20170627/%s"
                % pgn.parser
            )
            filename = await 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"):
            binary = (
                "http://download.chessclub.com.s3.amazonaws.com/timestamp/%s"
                % TimeSeal.timestamp
            )
            filename = await 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
    asyncio.create_task(coro())
    self.window.emit("delete-event", None)