From df1fdd2643d35318c73c029ea3fbbda72f9d0515 Mon Sep 17 00:00:00 2001 From: Lynn Root Date: Sat, 18 Aug 2012 09:54:43 -0700 Subject: [PATCH] scaffolding for views --- githubnetwork/views.py | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/githubnetwork/views.py b/githubnetwork/views.py index e69de29..722c298 100644 --- a/githubnetwork/views.py +++ b/githubnetwork/views.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict + +from django.contrib.auth.decorators import login_required +from django.http import HttpResponse, Http404, HttpResponseForbidden +from django.shortcuts import render_to_response, redirect +from django.template.context import RequestContext +from django.utils.decorators import method_decorator +from django.views.generic.base import TemplateView, TemplateResponseMixin +from django.views.generic.detail import DetailView +from django.views.generic.edit import CreateView, ModelFormMixin, FormView +from django.views.generic.list import ListView + +from django.contrib.auth.models import User +from models import GHUser, Repo + + +class Graph(object): + def __init__(self): + self.nodes = set() + self.edges = defaultdict(list) + self.distances = {} + + def add_node(self, value): + self.nodes.add(value) + + def add_edge(self, from_node, to_node, distance): + self.edges[from_node].append(to_node) + self.edges[to_node].append(from_node) + self.distances[(from_node, to_node)] = distance + + +class UserNetworkView(DetailView): + context_object_name = 'ghuser' + model = GHUser + + def get_user(self): + self.user = User.objects.get(username=self.kwargs.get('username')) + self.person = self.user.get_profile() + return self.person + + def get(self): + self.object_list = self.get_queryset() + context = self.get_context_data(object_list=self.object_list) + context.update({'user': self.user}) + return self.render_to_response(context) + + @method_decorator(login_required) + def dispatch(self, *args. **kwargs): + return super(ProtectedView, self).dispatch(*args, **kwargs) \ No newline at end of file