Example #1
0
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'])
Example #2
0
def account_gists(request):
	user = request.user
	gist_retriever = GistRetriever(user.username)
	gists = gist_retriever.get_gist_list()
	gists = [g for g in gists if [f for f in g['files'] if _valid_ext(f)]]
	ctx = {"gists": gists}
	request.session["gists"] = gists
	return render_to_response("account/gists.html", ctx, RequestContext(request))
Example #3
0
def gist_viewer(request, gist_id=0):
	print "Looking for gists with ID: %s" % unicode(gist_id)
	print "Gists" ##DEBUG
	pprint(request.session['gists']) ##DEBUG
	gist = [gist for gist in request.session['gists'] if gist['id'] == unicode(gist_id)][0]
	gist_retriever = GistRetriever(request.user.username)
	gist_texts = {}
	for gist_fname, gist_fdata in gist['files'].items():
		gist_texts[gist_fname] = gist_retriever.get_file_text(gist_fdata['raw_url'])
	ctx = {"gist_texts": gist_texts}
	return render_to_response("account/gist_viewer.html", ctx, RequestContext(request))
Example #4
0
	def fetch_code(self, user_id, raw_url):
		retriever = GistRetriever('dforsyth is the best')
		code = retriever.get_file_text(raw_url)

		if raw_url.upper().endswith('.GRIDLANG'):
			return code, None

		if raw_url.upper().endswith('.GRIDC'):
			resp = requests.post(settings.GRIDC_COMPILER_URI, data=code)
			if resp.status_code == requests.codes.ok:
				return resp.text, 'gridc resp: %d' % resp.status_code

		return None, None
Example #5
0
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))