def history(request, pk): try: model = DesignModel.objects.get(user=UserProfile.get_profile( request.user), pk=pk) revisions = model.revisions.all() except ObjectDoesNotExist: return render_queryset_to_response_error(request, error=404, msg="Model not found") entries = [] from itertools import groupby for k, v in groupby(revisions, key=lambda x: x.date.date()): v = list(v)[::-1] for vv in v: try: vv.changes = json.dumps(vv.changes["changes"]) except KeyError: vv.changes = json.dumps({}) entries.append([k, list(v)[::-1]]) data = {"model": model, "revisions": entries} return render_queryset_to_response(request, template="cyanodesign/history.html", data=data)
def map_view(request, map_id): export = "export_button" in request.POST items, enzymes, metabolites = request_extract(request) map_data = get_reaction_map(map_id, enzymes, metabolites, export) if export: map_data = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>""" + map_data import wand.image with wand.image.Image(blob=map_data, format="svg") as image: png_image = image.make_blob("png") response = HttpResponse(png_image, content_type='image/png') response['Content-Disposition'] = 'attachment; filename={}.png'.format(map_id) return response return render_queryset_to_response( request=request, template="kegg/map.html", data={ 'map_id': map_id, 'map_data': map_data, 'enzymes': enzymes, 'metabolites': metabolites, 'items': items, 'queries': [] if request.user.is_anonymous() else models.Query.objects.filter(user=request.user.profile), 'is_anonymous': request.user.is_anonymous() } )
def design(request, pk): try: item = DesignModel.objects.get(user=UserProfile.get_profile( request.user), pk=pk) current = item.get_latest_revision() except ObjectDoesNotExist: return render_queryset_to_response_error(request, error=404, msg="Model not found") try: revision = request.GET["revision"] try: revision = Revision.objects.get(model=item, pk=revision) except ObjectDoesNotExist: return render_queryset_to_response_error(request, error=404, msg="Revision not found") except KeyError: revision = current data = { "pk": pk, "name": item.name, "revision": None if current.pk == revision.pk else revision, "save_form": SaveModelForm(None), "saveas_form": SaveModelAsForm(None) } return render_queryset_to_response(request, template="cyanodesign/design.html", data=data)
def design(request, pk): try: item = DesignModel.objects.get(user=UserProfile.get_profile(request.user), pk=pk) current = item.get_latest_revision() except ObjectDoesNotExist: return render_queryset_to_response_error(request, error=404, msg="Model not found") try: revision = request.GET["revision"] try: revision = Revision.objects.get(model=item, pk=revision) except ObjectDoesNotExist: return render_queryset_to_response_error(request, error=404, msg="Revision not found") except KeyError: revision = current data = { "pk": pk, "name": item.name, "revision": None if current.pk == revision.pk else revision, "save_form": SaveModelForm(None), "saveas_form": SaveModelAsForm(None) } return render_queryset_to_response(request, template="cyanodesign/design.html", data=data)
def map_view(request, map_id): export = "export_button" in request.POST items, enzymes, metabolites = request_extract(request) map_data = get_reaction_map(map_id, enzymes, metabolites, export) if export: map_data = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>""" + map_data import wand.image with wand.image.Image(blob=map_data.encode("utf-8"), format="svg") as image: png_image = image.make_blob("png") response = HttpResponse(png_image, content_type='image/png') response['Content-Disposition'] = 'attachment; filename={}.png'.format(map_id) return response return render_queryset_to_response( request=request, template="kegg/map.html", data={ 'map_id': map_id, 'map_data': map_data, 'enzymes': enzymes, 'metabolites': metabolites, 'items': items, 'queries': [] if request.user.is_anonymous() else models.Query.objects.filter(user=request.user.profile), 'is_anonymous': request.user.is_anonymous() } )
def index(request): upload_form = UploadModelForm(None) templates = DesignTemplate.objects.values_list("pk", "name") template_form = ModelFromTemplateForm(choices=templates) models = DesignModel.objects.filter(user=UserProfile.get_profile(request.user)) return render_queryset_to_response( request, template="cyanodesign/list.html", queryset=models, data={'upload_form': upload_form, "template_form": template_form} )
def index(request): upload_form = UploadModelForm(None) templates = DesignTemplate.objects.values_list("pk", "name") template_form = ModelFromTemplateForm(choices=templates) models = DesignModel.objects.filter( user=UserProfile.get_profile(request.user)) return render_queryset_to_response(request, template="cyanodesign/list.html", queryset=models, data={ 'upload_form': upload_form, "template_form": template_form })
def index(request, legacy=None): """ """ data = format_output(request) if "export_button" in request.POST: t = loader.get_template('boehringer/boehringer_svg.html') c = RequestContext(request, data) response = HttpResponse(t.render(c), content_type='image/svg+xml') response['Content-Disposition'] = 'attachment; filename=boehringer.svg' return response if legacy: return render_to_response("boehringer/legacy.html", data, context_instance=RequestContext(request)) else: return render_queryset_to_response(request, data=data, template="boehringer/index.html")
def index(request): items, enzymes, metabolites = request_extract(request) ecs = list(map(lambda x: x[0], enzymes)) metas = list(map(lambda x: x[0], metabolites)) query = None if len(metas) > 0: # reduce magic via https://stackoverflow.com/questions/7088173/ query = reduce(lambda x, y: x | y, [Q(name__icontains=word) for word in metas]) query |= reduce(lambda x, y: x | y, [Q(title__icontains=word) for word in metas]) if len(ecs) > 0: if query is None: query = Q(ec_numbers__name__in=ecs) else: query |= Q(ec_numbers__name__in=ecs) if query is not None: kegg_maps = models.Map.objects.filter(query).distinct() else: kegg_maps = models.Map.objects.all() overview = filter(lambda x: x.overview, kegg_maps) other = filter(lambda x: not x.overview, kegg_maps) return render_queryset_to_response( request=request, template="kegg/index.html", data={ 'overview_maps': overview, 'other_maps': other, 'items': items, 'queries': [] if request.user.is_anonymous() else models.Query.objects.filter(user=request.user.profile), 'is_anonymous': request.user.is_anonymous() } )
def history(request, pk): try: model = DesignModel.objects.get(user=UserProfile.get_profile(request.user), pk=pk) revisions = model.revisions.all() except ObjectDoesNotExist: return render_queryset_to_response_error(request, error=404, msg="Model not found") entries = [] from itertools import groupby for k,v in groupby(revisions, key=lambda x: x.date.date()): v = list(v)[::-1] for vv in v: try: vv.changes = json.dumps(vv.changes["changes"]) except KeyError: vv.changes = json.dumps({}) entries.append([k, list(v)[::-1]]) data = {"model": model, "revisions": entries} return render_queryset_to_response(request, template="cyanodesign/history.html", data=data)
def index(request, legacy=None): """ """ data = format_output(request) if "export_button" in request.POST: t = loader.get_template('boehringer/boehringer_svg.html') c = RequestContext(request, data) response = HttpResponse(t.render(c), content_type='image/svg+xml') response['Content-Disposition'] = 'attachment; filename=boehringer.svg' return response if legacy: return render_to_response( "boehringer/legacy.html", data, context_instance=RequestContext(request)) else: return render_queryset_to_response( request, data=data, template="boehringer/index.html" )