def use_gist(request): if request.method == "POST": code = None success = False msg = "" ctx = {} computed_max_size = settings.GRIDCONTROL_GIST_MAX_SIZE gist_retriever = GistRetriever(request.user.username) gist_id = request.POST['gist_id'] gist_revision = request.POST['gist_revision'] gist_files = gist_retriever.get_gist_version(gist_id, gist_revision) print "# of files found: %d" % len(gist_files) for gfile in gist_files: print "Filename: %s" % gfile["filename"] #DEBUG if _valid_ext(gfile["filename"]): ctx["filename"] = gfile["filename"] if(int(gfile["size"]) < computed_max_size): success, msg = register_code(request.user, gfile["text_url"]) else: success, msg = False, 'file {} too large. less coad pls'.format(gfile['text_url']) break print "Success: %s" % str(success) #DEBUG print "Message: %s" % msg #DEBUG ctx['success'] = success ctx['message'] = msg user = request.user gce = GridControlEngine(get_client()) gce.activate_user(user.id, user.username) return render_to_response("account/use_gist.html", ctx, RequestContext(request)) else: return HttpResponseNotAllowed(['POST'])
def gist_viewer(request, gist_id=0, gist_revision=""): gist_retriever = GistRetriever(request.user.username) gist_revisions = gist_retriever.get_gist_history(gist_id) gist_texts = {} gist_info = gist_retriever.get_gist_version(gist_id, gist_revision) for file_dict in gist_info: gist_texts[file_dict["filename"]] = gist_retriever.get_file_text(file_dict["text_url"]) print "Viewing gist: %s" % gist_id #DEBUG ctx = { "gist_id": gist_id, "gist_revision": gist_revision, "gist_texts": gist_texts, "gist_revisions": gist_revisions} pprint(ctx) #DEBUG return render_to_response("account/gist_viewer.html", ctx, RequestContext(request))