chiark / gitweb /
refactor to put findparents/spouses/children in one place
[familyTree.git] / cgiFiles / smallGraph.py
index ee152694c8fbef00dbd99b89a55fcb5f560fad9f..add721138fed72e61c127e28ced6c80db98b6f60 100755 (executable)
@@ -3,14 +3,30 @@
 import cgi
 import cgitb
 import make_dot as d
-
+import sys
+sys.path.append('/home/naath/familyTreeProject/familyTree')
+import askQuestion as aQ
 cgitb.enable()
 
-def make_graph(Self,parents,children,otherparents,spouses):
+def find_person(ID):
+       s = "SELECT name || ','||ID FROM people WHERE ID=?"
+       t = (ID,)
+
+       for row in aQ.run_query(s,t):
+               Self = row[0]
+               return Self
+
+#def make_graph(Self,parents,children,otherparents,spouses):
+def make_graph(ID):
+
        d.start_dot()   
 
+       Self = find_person(ID)
+
        d.add_highlight(Self)
        
+       [parents, parentIDs,parentNames] = aQ.find_parents(ID)
+
        countSame = 2;
         for i in range(1,len(parents)):
                 if parents[i]==parents[i-1]:
@@ -19,10 +35,17 @@ def make_graph(Self,parents,children,otherparents,spouses):
 
         d.add_marriage(parents[0],parents[1],[Self],1)
 
+       [children,childrenID,childrenNames\
+               ,otherparents,otherparentsID,otherParentsNames\
+               ,childrenBorn] = \
+               aQ.find_children(ID)
+       
        for i in range(len(otherparents)):
                 c = children[i]
                 op = otherparents[i]
                 d.add_marriage(Self,op,[c],1)
+       
+       [spouses,spousesID,spousesNames] = aQ.find_spouses(ID)
 
        for i in range(len(spouses)):
                 s = spouses[i]
@@ -40,10 +63,8 @@ def make_graph(Self,parents,children,otherparents,spouses):
 
 form = cgi.FieldStorage()
 
-Self = form.getvalue('Self')
-p = form.getlist('p')
-c = form.getlist('c')
-op = form.getlist('op')
-s = form.getlist('s')
+ID = form.getvalue('ID')
 
-make_graph(Self,p,c,op,s)
+conn = aQ.connect()
+make_graph(ID)
+aQ.close(conn)