def index(request): # logged in user c = create_context(request.user) c.ident = request.user add_auth_info_to_context(request, c) c.silos = list_silos() if settings.METADATA_EMBARGOED: # if not ident: # abort(401, "Not Authorised") if request.user.is_authenticated(): c.silos = authz(ident) else: return HttpResponseForbidden("Forbidden") c.silo_infos = {} for silo in c.silos: c.silo_infos[silo] = [] state_info = granary.describe_silo(silo) if "title" in state_info and state_info["title"]: c.silo_infos[silo].append(state_info["title"]) else: c.silo_infos[silo].append(silo) c.silo_infos[silo].append(get_datasets_count(silo)) c.silo_infos[silo].append(getSiloModifiedDate(silo)) return render_html_or_json(request, c, "list_of_silos.html", c.silos)
def index(request): # logged in user c = create_context(request.user) c.ident = request.user add_auth_info_to_context(request, c) c.silos = list_silos() if settings.METADATA_EMBARGOED: #if not ident: # abort(401, "Not Authorised") if request.user.is_authenticated(): c.silos = authz(ident) else: return HttpResponseForbidden("Forbidden") c.silo_infos = {} for silo in c.silos: c.silo_infos[silo] = [] state_info = granary.describe_silo(silo) if 'title' in state_info and state_info['title']: c.silo_infos[silo].append(state_info['title']) else: c.silo_infos[silo].append(silo) c.silo_infos[silo].append(get_datasets_count(silo)) c.silo_infos[silo].append(getSiloModifiedDate(silo)) return render_html_or_json(request, c, 'list_of_silos.html', c.silos)
def api_view(request, api_name): # logged in user c = Context() # duck-typed context object for Mako c.ident = request.user add_auth_info_to_context(request, c) if api_name not in ['silos', 'datasets', 'states', 'items']: # redirect(url(controller="api", action="apiview", api_name="silos")) return redirect("/api/silos") c.api_file = "%s_api.html"%api_name return render_to_response('/api.html', {'c':c})
def api_view(request, api_name): # logged in user c = create_context(request.user) c.ident = request.user add_auth_info_to_context(request, c) if api_name not in ['silos', 'datasets', 'states', 'items']: # redirect(url(controller="api", action="apiview", api_name="silos")) return redirect("/api/silos") c.api_file = "%s_api.html" % api_name return render_to_response('/api.html', {'c': c})
def welcome(request): c = Context() # duck-typed context object for Mako c.came_from = request.GET.get('came_from', "/") c.ident = request.user if request.user.is_authenticated(): add_auth_info_to_context(request, c) request.session['user_id'] = request.user.username return redirect(c.came_from) else: destination = "/login?came_from=%s" % (c.came_from) return redirect(destination)
def welcome(request): c = Context() # duck-typed context object for Mako c.came_from = request.GET.get('came_from', "/") c.ident = request.user if request.user.is_authenticated(): add_auth_info_to_context(request, c) request.session['user_id'] = request.user.username return redirect(c.came_from) else: destination = "/login?came_from=%s" % (c.came_from) return redirect(destination)
def index(request): # logged in user c = Context() # duck-typed context object for Mako c.ident = request.user add_auth_info_to_context(request, c) c.silos = list_silos() if settings.METADATA_EMBARGOED: #if not ident: # abort(401, "Not Authorised") if request.user.is_authenticated(): c.silos = authz(ident) else: return HttpResponseForbidden("Forbidden") c.silo_infos = {} for silo in c.silos: c.silo_infos[silo] = [] state_info = granary.describe_silo(silo) if 'title' in state_info and state_info['title']: c.silo_infos[silo].append(state_info['title']) else: c.silo_infos[silo].append(silo) c.silo_infos[silo].append(get_datasets_count(silo)) c.silo_infos[silo].append(getSiloModifiedDate(silo)) # conneg return accept_list = None if request.META.has_key('HTTP_ACCEPT'): try: accept_list = conneg_parse(request.META['HTTP_ACCEPT']) except: accept_list= [MT("text", "html")] if not accept_list: accept_list= [MT("text", "html")] mimetype = accept_list.pop(0) while(mimetype): if str(mimetype).lower() in ["text/html", "text/xhtml"]: return render_to_response('list_of_silos.html', {'c':c}) elif str(mimetype).lower() in ["text/plain", "application/json"]: response.content_type = 'application/json; charset="UTF-8"' response.status_int = 200 response.status = "200 OK" return HttpResponse(json.dumps(c.silos), mimetype='application/json; charset="UTF-8"') try: mimetype = accept_list.pop(0) except IndexError: mimetype = None return render_to_response('list_of_silos.html', {'c':c})
def view(request, siloname): c = create_context(request.user, siloname) add_auth_info_to_context(request, c) if not granary.issilo(siloname): raise Http404 ident = request.user c.ident = ident c.silo_name = siloname c.user_permissions = list_user_permissions(ident.username, siloname) c.editor = False if settings.METADATA_EMBARGOED: if request.user.is_authenticated(): c.silos = authz(ident) if siloname in silos: c.editor = True else: return HttpResponseForbidden("Forbidden") else: return HttpResponseForbidden("Forbidden") else: c.silos = authz(ident) if siloname in c.silos: c.editor = True # FIXME: MAJOR issue - very specific 'if' here # TODO: Add a flag to the Silo model to mark whether a silo is # listable. if siloname in ['ww1archives', 'digitalbooks']: return HttpResponse( "The silo %s contains too many data packages to list" % siloname, mimetype="text/plain") rdfsilo = granary.get_rdf_silo(siloname) state_info = granary.describe_silo(siloname) if 'title' in state_info and state_info['title']: c.title = state_info['title'] c.embargos = {} c.items = [] for item in rdfsilo.list_items(): c.embargos[item] = None try: c.embargos[item] = is_embargoed(rdfsilo, item) except: pass c.items.append(item) #c.embargos[item] = () return render_html_or_json(request, c, 'siloview.html', c.embargos)
def view(request, siloname): c = create_context(request.user, siloname) add_auth_info_to_context(request, c) if not granary.issilo(siloname): raise Http404 ident = request.user c.ident = ident c.silo_name = siloname c.user_permissions = list_user_permissions(ident.username, siloname) c.editor = False if settings.METADATA_EMBARGOED: if request.user.is_authenticated(): c.silos = authz(ident) if siloname in silos: c.editor = True else: return HttpResponseForbidden("Forbidden") else: return HttpResponseForbidden("Forbidden") else: c.silos = authz(ident) if siloname in c.silos: c.editor = True # FIXME: MAJOR issue - very specific 'if' here # TODO: Add a flag to the Silo model to mark whether a silo is # listable. if siloname in ["ww1archives", "digitalbooks"]: return HttpResponse("The silo %s contains too many data packages to list" % siloname, mimetype="text/plain") rdfsilo = granary.get_rdf_silo(siloname) state_info = granary.describe_silo(siloname) if "title" in state_info and state_info["title"]: c.title = state_info["title"] c.embargos = {} c.items = [] for item in rdfsilo.list_items(): c.embargos[item] = None try: c.embargos[item] = is_embargoed(rdfsilo, item) except: pass c.items.append(item) # c.embargos[item] = () return render_html_or_json(request, c, "siloview.html", c.embargos)
def home(request): # logged in user c = Context() # duck-typed context object for Mako c.ident = request.user add_auth_info_to_context(request, c) return render_to_response("home.html", {'c':c})
def home(request): # logged in user c = create_context(request.user) c.ident = request.user add_auth_info_to_context(request, c) return render_to_response("home.html", {'c':c})
def home(request): # logged in user c = create_context(request.user) c.ident = request.user add_auth_info_to_context(request, c) return render_to_response("home.html", {'c': c})
def view(request, siloname): c = Context() # duck-typed context object for Mako add_auth_info_to_context(request, c) if not granary.issilo(siloname): raise Http404 ident = request.user c.ident = ident c.silo_name = siloname c.user_permissions = list_user_permissions(ident.username, siloname) c.editor = False if settings.METADATA_EMBARGOED: if request.user.is_authenticated(): c.silos = authz(ident) if siloname in silos: c.editor = True else: return HttpResponseForbidden("Forbidden") else: return HttpResponseForbidden("Forbidden") else: c.silos = authz(ident) if siloname in c.silos: c.editor = True # FIXME: MAJOR issue - very specific 'if' here # TODO: Add a flag to the Silo model to mark whether a silo is # listable. if siloname in ['ww1archives', 'digitalbooks']: return HttpResponse("The silo %s contains too many data packages to list"%siloname, mimetype="text/plain") rdfsilo = granary.get_rdf_silo(siloname) state_info = granary.describe_silo(siloname) if 'title' in state_info and state_info['title']: c.title = state_info['title'] c.embargos = {} c.items = [] for item in rdfsilo.list_items(): c.embargos[item] = None try: c.embargos[item] = is_embargoed(rdfsilo, item) except: pass c.items.append(item) #c.embargos[item] = () # conneg return accept_list = None if request.META.has_key('HTTP_ACCEPT'): try: accept_list = conneg_parse(request.META['HTTP_ACCEPT']) except: accept_list= [MT("text", "html")] if not accept_list: accept_list= [MT("text", "html")] mimetype = accept_list.pop(0) while(mimetype): if str(mimetype).lower() in ["text/html", "text/xhtml"]: return render_to_response('siloview.html', {'c':c}) elif str(mimetype).lower() in ["text/plain", "application/json"]: response.content_type = 'application/json; charset="UTF-8"' response.status_int = 200 response.status = "200 OK" return simplejson.dumps(c.embargos) try: mimetype = accept_list.pop(0) except IndexError: mimetype = None #Whoops nothing satisfies - return text/html return render_to_response('siloview.html', {'c':c})