def get_graph_json(self, querystring): graph = [] root_topic = Topic(querystring) self.topic_path.append(root_topic) graph.append(root_topic.assemble()) searched = [querystring] for related_level1 in root_topic.get_related_topics()[:4]: if related_level1 in searched: continue else: searched.append(related_level1) topic_level1 = Topic(related_level1) root_topic.connect(topic_level1.string_query) topic_level1.connect(root_topic.string_query) for related_level2 in topic_level1.get_related_topics()[:4]: if related_level2 in searched: continue else: searched.append(related_level2) topic_level2 = Topic(related_level1) topic_level2.connect(topic_level1.string_query) topic_level1.connect(topic_level2.string_query) graph.append(topic_level2.assemble()) graph.append(topic_level1.assemble()) # for topic in self.topic_path[-min(len(self.topic_path), 3):]: # graph.append(topic.assemble()) # graph = { # v['name']:v for v in map(lambda x: x, graph) # }.values() for thing in graph: print(thing) graph_json = json.dumps(graph) # print "\n\n" # print graph # print "\n" return graph_json