def launch_pymod_update(self):
# Gets the latest release number from network.
try:
update_found = pmup.check_for_updates(self.pymod_version, self.pymod_revision)
except Exception, e:
self.show_error_message("Connection Error", "Can not obtain the latest PyMod version number beacause of the following error: '%s'" % e)
return False
if not update_found:
self.show_warning_message("Update Canceled", "Your PyMod version (%s.%s) is already up to date." % (self.pymod_version, self.pymod_revision))
return False
# Ask for update confirmation.
title = "Update PyMod?"
message = "Would you like to update your current PyMod version (%s.%s) to the latest stable one available online (%s)? You will need to restart PyMOL in order to use the new version." % (self.pymod_version, self.pymod_revision, update_found)
answer = tkMessageBox.askyesno(title, message, parent=self.main_window)
if not answer:
return False
# Fetches the latest stable version files of PyMod.
try:
plugin_zipfile_temp_name = pmup.fetch_plugin_zipfile()
except Exception, e:
self.show_error_message("Connection Error", "Can not fetch the latest PyMod files beacause of the following error: '%s'" % e)
return False
if not plugin_zipfile_temp_name:
return False
# Installs the new PyMod version.
pymod_plugin_dir = os.path.dirname(os.path.dirname(__file__))
update_results = pmup.update_pymod(plugin_zipfile_temp_name, pymod_plugin_dir)
if update_results[0]:
self.show_info_message("Update Successful", "PyMod has been updated to version %s. Please restart PyMOL in order to use the updated PyMod version." % (update_found))
else:
self.show_error_message("Update Failed", update_results[1])
评论列表
文章目录