updated scaffolding
This commit is contained in:
		
							parent
							
								
									71b847ba70
								
							
						
					
					
						commit
						5d370e36d0
					
				
					 1 changed files with 42 additions and 9 deletions
				
			
		| 
						 | 
					@ -18,31 +18,64 @@ from models import GHUser, Repo
 | 
				
			||||||
class Graph(object):
 | 
					class Graph(object):
 | 
				
			||||||
    def __init__(self):
 | 
					    def __init__(self):
 | 
				
			||||||
        self.nodes = set()
 | 
					        self.nodes = set()
 | 
				
			||||||
        self.edges = defaultdict(list)
 | 
					        self.edges = {}
 | 
				
			||||||
        self.distances = {}
 | 
					        self.distances = {}
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def add_node(self, value):
 | 
					    def add_node(self, value):
 | 
				
			||||||
        self.nodes.add(value)
 | 
					        self.nodes.add(value)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def add_edge(self, from_node, to_node, distance):
 | 
					    def add_edge(self, from_node, to_node, distance):
 | 
				
			||||||
 | 
					        self._add_edge(from_node, to_node, distance)
 | 
				
			||||||
 | 
					        self._add_edge(to_node, from_node, distance)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def _add_edge(self, from_node, to_node, distance):
 | 
				
			||||||
 | 
					        self.edges.setdefault(from_node, [])
 | 
				
			||||||
        self.edges[from_node].append(to_node)
 | 
					        self.edges[from_node].append(to_node)
 | 
				
			||||||
        self.edges[to_node].append(from_node)
 | 
					 | 
				
			||||||
        self.distances[(from_node, to_node)] = distance
 | 
					        self.distances[(from_node, to_node)] = distance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class UserNetworkView(DetailView):
 | 
					class NetworkView(DetailView):
 | 
				
			||||||
    context_object_name = 'ghuser'
 | 
						#example list of edges
 | 
				
			||||||
    model = GHUser
 | 
						# nodes just in a list
 | 
				
			||||||
 | 
					[
 | 
				
			||||||
 | 
					    {'from': 'node1',
 | 
				
			||||||
 | 
					     'to'  : 'node2',
 | 
				
			||||||
 | 
					     'distance' : 'weight'},
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def create_graph(self, nodes, edges):
 | 
				
			||||||
 | 
					    	graph = Graph()
 | 
				
			||||||
 | 
					    	graph.nodes = set(nodes)
 | 
				
			||||||
 | 
					    	for edge in edges:
 | 
				
			||||||
 | 
					    		graph.add_edge(edge['from'], edge['to'], edge['distance'])
 | 
				
			||||||
 | 
					    	return graph
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_user(self):
 | 
					    def get_user(self):
 | 
				
			||||||
        self.user = User.objects.get(username=self.kwargs.get('username'))
 | 
					        self.user = User.objects.get(username=self.kwargs.get('username'))
 | 
				
			||||||
        self.person = self.user.get_profile()
 | 
					        self.person = self.user.get_profile()
 | 
				
			||||||
        return self.person
 | 
					        return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def get_repos(self):
 | 
				
			||||||
 | 
					    	self.repos = Repo.objects.get(user=self.get_user())
 | 
				
			||||||
 | 
					    	return repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def get_queryset(self):
 | 
				
			||||||
 | 
					    	self.get_user()
 | 
				
			||||||
 | 
					    	if self.get_repos:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def get_context_data(self, **kwargs):
 | 
				
			||||||
 | 
					        queryset = kwargs.pop('object_list')
 | 
				
			||||||
 | 
					        page_size = self.get_paginate_by(queryset)
 | 
				
			||||||
 | 
					        context_object_name = self.get_context_object_name(queryset)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get(self):
 | 
					    def get(self):
 | 
				
			||||||
    	self.object_list = self.get_queryset()
 | 
					    	self.object_list = self.get_queryset()
 | 
				
			||||||
        context = self.get_context_data(object_list=self.object_list)
 | 
					        context = self.get_context_data(object_list=self.object_list)
 | 
				
			||||||
        context.update({'user': self.user})
 | 
					        context.update({'xxx': 'what should go here'})
 | 
				
			||||||
        return self.render_to_response(context)
 | 
					        return self.render_to_response(context)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @method_decorator(login_required)
 | 
					    @method_decorator(login_required)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue