def RenderToolbar(url, template, data = {}): t = loader.get_template(template) server_addr = 'http://' + getifip(web_server_interface) r = URL(url) cd = { 'url' : server_addr + '/request/' + r.with_www().replace('http://',''), 'page': server_addr + ':' + str(content_port) + '/' + r.with_www().replace('http://', '') } cd.update(data) c = Context(cd) return HttpResponse(t.render(c))
def TakeRequest(request, url): request_url = URL(url) robj = Request.objects.filter(target__contains=request_url.host) if not robj: r = Request(request_type='HttpRequest', storage_type='UrlStorage', action='mirror', target=request_url.host, flag='requested') else: r = robj[0] r.flag = 'requested' r.save() return HttpResponseRedirect('http://%s/%s' % (getifip(web_server_interface), request_url.with_www().replace('http://', '')))
def RequestHandler(request, url): request_url = URL(url) robj = Request.objects.filter(target__contains=request_url.host) if robj: req = robj[0] req.url = request_url data = {} if req.flag == 'completed': data = {'action_date':req.action_date} elif req.flag == 'requested': data = {'request_date':req.request_date} return RenderToolbar(req.url.__str__(), 'handle/toolbar_' + req.flag + '.inc', data) else: return RenderToolbar(request_url.__str__(), 'handle/toolbar_request.inc')
def Redirect(request, url): u = URL(url) u.inject_query(request.GET) print (u) return HttpResponseRedirect('http://%s/%s' % (getifip(web_server_interface), u.__str__().replace('http://', '')))