def __threaded_update(self):
        iter = self.selected.get_iter_first()
        data = site_conn.obtain_launch_md5_list()
        while iter is not None:
            if self.selected.get_value(iter, 1) is True:
                gameid = self.selected.get_value(iter, 2)
                gamemd5 = self.games[gameid].obtain_launcher_md5()
                if data[gameid]["md5"] != gamemd5:
                    msg = ("%s has outdated launcher.\n"
                           "Updating launcher script..." %
                           self.games[gameid].full_name)

                    self.update_status(msg)
                    path = self.games[gameid].install_path
                    launch_script = os.path.join(path, "startgame.sh")
                    site_conn.download_script(launch_script,
                                              data[gameid]["url"])
            iter = self.selected.iter_next(iter)
        self.update_status("Update successful.")
        self.statusspinner.stop()
        self.done = True
        okbutton = self.gladeFile.get_widget("okbutton")
        okbutton.set_sensitive(True)
        okbutton.set_label("Done")
Manage the connection and checking for updates in a thread.
dataset/ETHPy150Open Morgawr/gogonlinux/gog_utils/gog_gui.py/UpdateWindow.__threaded_update