import cgitb
import sys
sys.path.append('/home/naath/familyTreeProject/familyTree')
-import pygraph
-from pygraph.classes.graph import graph
-from pygraph.classes.digraph import digraph
-from pygraph.algorithms.searching import breadth_first_search
-from pygraph.readwrite.dot import write
-import gv
-import StringIO
import askQuestion
+import make_dot as d
def add_quotes(s):
s = str(s)
famTree = askQuestion.list_people_parents()
-gr = digraph()
-
-couples = []
-
-attr = [('fontsize',8)]
-
+d.start_dot()
for i in range(len(famTree)):
+#for i in range(200):
self = famTree[i][0]
- if not gr.has_node(self):
- gr.add_node(self,attr)
+ d.add_person(self)
- for j in range(len(famTree[i][2])):
- s = famTree[i][2][j]
- ps = (self,s)
-
- if not gr.has_node(s):
- gr.add_node(s,attr)
- a =1
- if not gr.has_edge(ps):
- gr.add_edge(ps)
- a = ['dir','none']
- gr.add_edge_attribute(ps,a)
- couples.append(ps)
- ps = ()
+ ps = []
for j in range(len(famTree[i][1])):
p = famTree[i][1][j]
- if p !='?':
- ps = ps + (str(p),)
- if not gr.has_node(p):
- gr.add_node(p,attr)
- if not gr.has_edge((p,self)):
- gr.add_edge((p,self))
-
- if len(ps)==2 and not gr.has_edge(ps) \
- and not gr.has_edge((ps[1],ps[0])):
- gr.add_edge(ps)
- a = ['dir','none']
- gr.add_edge_attribute(ps,a)
- couples.append(ps)
-
-dot = write(gr)
+ ps.append(str(p))
-dot = write(gr)
-dot = dot[:-2]
+ if len(ps)==2:
+ d.add_marriage(ps[0],ps[1],[self],0)
+ d.add_subgraph(ps)
-for couple in couples:
- line = "\n{rank=same "+add_quotes(couple[0]) + ' '\
- +add_quotes(couple[1])+"}"
- dot = dot + line
-
-dot = dot + '\n}'
-
-
-gvv = gv.readstring(dot)
-format='dot'
-gv.layout(gvv,format)
+ for j in range(len(famTree[i][2])):
+ s = famTree[i][2][j]
+ ps = (self,s)
-format = "jpg"
-print "Content-type: image/" + format + "\n"
-print gv.render(gvv,format)
+ d.add_person(s)
+ d.add_marriage(self,s,[],0)
+ d.add_subgraph(ps)
-#gv.render(gvv,'png','famTree.png')
+d.add_subgraphs()
+d.end_dot()
+d.render_dot()
askQuestion.close(conn)