rogueojiiofwales/githubnetwork/views.py
2012-08-18 09:54:43 -07:00

50 lines
No EOL
1.7 KiB
Python

# -*- 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)