def reset_ref(request, tref): """ resets cache, versionstate, toc, varnish, & book TOC template :param tref: :return: """ oref = model.Ref(tref) if oref.is_book_level(): model.library.refresh_index_record_in_cache(oref.index) vs = model.VersionState(index=oref.index) vs.refresh() model.library.update_index_in_toc(oref.index) if MULTISERVER_ENABLED: server_coordinator.publish_event("library", "refresh_index_record_in_cache", [oref.index.title]) server_coordinator.publish_event("library", "update_index_in_toc", [oref.index.title]) elif USE_VARNISH: invalidate_title(oref.index.title) return HttpResponseRedirect("/{}?m=Reset-Index".format(oref.url())) elif USE_VARNISH: invalidate_ref(oref) return HttpResponseRedirect("/{}?m=Reset-Ref".format(oref.url())) else: return HttpResponseRedirect("/?m=Nothing-to-Reset")
def reset_index_cache_for_text(request, title): index = model.library.get_index(title) model.library.refresh_index_record_in_cache(index) if MULTISERVER_ENABLED: server_coordinator.publish_event("library", "refresh_index_record_in_cache", [index.title]) elif USE_VARNISH: invalidate_title(index.title) return HttpResponseRedirect("/%s?m=Cache-Reset" % model.Ref(title).url())