Example #1
0
def generate_resource(request, res_type, name, medium=None):
	print "Generating %s %s" % (res_type, name)
	output = helpers.get_output_path(request, res_type, name)
	file_list = helpers.get_file_list(res_type, name, medium)

	if res_type == 'script': script.pack(request, file_list, output, settings.RAPE_PACK)
	elif res_type == 'style': style.pack(request, file_list, output, settings.RAPE_PACK)
	else: raise Exception('Unknown resource type: %s' % res_type)
Example #2
0
def resource(request, serial, name, res_type, medium=None):
	if int(serial) == settings.RAPE_SERIAL:
		if helpers.exists(res_type, name, medium):
			if helpers.changed(request, res_type, name, medium):
				helpers.check_dirs(res_type)
				generate_resource(request, res_type, name, medium)

			fp = open(helpers.get_output_path(request, res_type, name))
			response = HttpResponse(re.sub(r'{{HOST}}', request.META['HTTP_HOST'], fp.read()))
			fp.close()

			if settings.RAPE_CORS_ORIGIN:  response['Access-Control-Allow-Origin']  = settings.RAPE_CORS_ORIGIN
			if settings.RAPE_CORS_METHODS: response['Access-Control-Allow-Methods'] = settings.RAPE_CORS_METHODS
			if settings.RAPE_CORS_HEADERS: response['Access-Control-Allow-Headers'] = settings.RAPE_CORS_HEADERS

			response['Content-Type'] = helpers.get_content_type(res_type)
			response['Cache-Control'] = 'public, max-age=86400'

			return response
		else: raise Http404
	else:
		return HttpResponseRedirect(reverse(('raped_%s' % res_type), args=(settings.RAPE_SERIAL, name)))