cgitb.enable()
import sys
sys.path.append('/home/naath/familyTreeProject/familyTree')
-import askQuestion
+import askQuestion as aQ
import make_dot as d
-def parents(ID,name):
- findParents = "SELECT Name,parentID FROM parents LEFT JOIN"\
- +" people ON people.id=parents.parentid"\
- +" WHERE parents.id=?;"
+def add_parents(ID,name):
- pair =[]
- for row in askQuestion.run_query(findParents,(ID,)):
- if row[0]!=None:
- thisN = row[0] + ' '+str(row[1])
- newName = thisN
- newID = row[1]
- if not d.has_node(thisN):
- d.add_person(thisN)
- parents(newID,newName)
- pair.append(thisN)
+ [parents, parentIDs,parentNames] = aQ.find_parents(ID)
- else:
- thisN = row[1] + ',p ' + str(ID)
- pair.append(thisN)
- d.add_person(thisN)
+ pair = []
+ for i in range(len(parents)):
+ newName = parents[i]
+ if parentIDs[i]!=0:
+ newID = parentIDs[i]
+ if not d.has_node(newName):
+ d.add_person(newName)
+ add_parents(newID,newName)
+ else:
+ d.add_person(newName)
+ pair.append(newName)
d.add_marriage(pair[0],pair[1],[name],1)
-def make_graph(ID,conn):
+def make_graph(ID):
global allAncestors
d.start_dot()
[out, allAncestors,trackLevel,aDict] = \
- askQuestion.all_ancestors(ID,'\n')
+ aQ.all_ancestors(ID,'\n')
Self = allAncestors[0]
s = "SELECT name||', '|| id FROM people WHERE ID=?"
t = (Self,)
- for row in askQuestion.run_query(s,t):
+ for row in aQ.run_query(s,t):
Self = row[0]
d.add_highlight(Self)
- parents(allAncestors[0],Self)
+ add_parents(allAncestors[0],Self)
d.add_subgraphs()
d.render_dot()
- askQuestion.close(conn)
-
form = cgi.FieldStorage()
ID = form.getvalue('id')
-conn = askQuestion.connect()
-make_graph(ID,conn)
-askQuestion.close(conn)
+conn = aQ.connect()
+make_graph(ID)
+aQ.close(conn)