def get_update(self, request, **kwargs): updateStatus = {} versions, meta_version = findVersions() updateStatus["versions"] = versions updateStatus["meta_version"] = meta_version updateStatus["locked"] = iondb.rundb.admin.update_locked() updateStatus["logs"] = iondb.rundb.admin.install_log_text() return self.create_response(request, updateStatus)
def update(request): """provide a simple interface to allow Torrent Suite to be updated""" if request.method=="POST": updateLocked = run_update() data = json.dumps({"lockBlocked" : updateLocked }) return http.HttpResponse(data, content_type="application/json") elif request.method=="GET": about, meta_version = views.findVersions() config = GlobalConfig.get() from iondb.rundb.api import GlobalConfigResource resource = GlobalConfigResource() serialized_config = resource.serialize(None, resource.full_dehydrate(config), "application/json") return render_to_response( "admin/update.html", {"about": about, "meta": meta_version, "global_config": serialized_config}, RequestContext(request, {}), )
# provide a way to remove ion from the front of a package string name from optparse import OptionParser parser = OptionParser() parser.add_option( "-i", "--ion", dest="ion", action="store_true", default=False, help="Remove ion- from the start of a string", metavar="ion", ) (options, args) = parser.parse_args() sys.path.append("/opt/ion/") os.environ["DJANGO_SETTINGS_MODULE"] = "iondb.settings" from iondb.rundb.views import findVersions ret, meta = findVersions() for package, version in ret.iteritems(): if not options.ion: package = package.replace("ion-", "") print "%s=%s" % (package, version)