chiark / gitweb /
faff with graphs and searching
[familyTree.git] / cgiFiles / searchname.py
index c7983215b272d458d59a33e5704fd4b17926437d..b248448f3f5c3aed2dcd02ea409edc005215795f 100755 (executable)
@@ -7,35 +7,92 @@ import cgitb
 import sys
 import re
 sys.path.append('/home/naath/familyTreeProject/familyTree')
-import askQuestion
+import askQuestion as aQ
 import everyPage
 
+
+def make_drop_down(n, IDs, Names):
+       if n==1:
+               formName = 'ID'
+       else:
+               formName = 'ID' + str(n)        
+       
+       dd=\
+                "Person "+str(n)+": <select name = "+formName + ">"
+       for i in range(len(IDs)):
+               dd = dd +\
+               "<option value = '"+str(IDs[i])+"'>"+Names[i]+"</option>"
+                
+
+       dd = dd+"</select>"
+
+       return dd
+
 cgitb.enable()
 
 [conn,form]=everyPage.top()
 
 name = form.getvalue('name')
-if name == None:
-       printMe = "<form action = 'searchname.py' method = 'get'>"
-       printMe = printMe + \
-               "Search for: <input type = 'text' name = 'name'> <br>"
-       printMe = printMe +"<input type = 'submit' value = 'Search'>"
-       printMe = printMe + "</form>"
+name2 = form.getvalue('name2')
 
-       everyPage.good(printMe)
+thisName = ''
+nameA=''
+nameB=''
+if name2==None and name !=None:
+       thisName = name
+elif name2!=None and name!=None:
+       nameA = name
+       nameB = name2   
+
+oneSearch = "Search for people by name"+\
+"<form id='searchBox' action = 'searchname.py' method = 'get'>"+\
+"Search for: <input type = 'text' name = 'name' value =" +thisName+"> <br>"+\
+"<button type = 'submit'>Search</button><br><br>"+\
+"</form>"
+
+pairSearch = "Search for pairs of people"+\
+" to find joint ancestors"+\
+"<form id='searchBox' action = 'searchname.py' method = 'get'>"+\
+"Person 1: <input type = 'text' name = 'name' value =" +nameA+"> <br>"+\
+"Person 2: <input type = 'text' name = 'name2' value = "+nameB+"> <br>"+\
+"<button type = 'submit'>Search</button><br><br>"
+"</form>"
        
+if name == None:
+       printMe = oneSearch + pairSearch
+       
+       everyPage.good(printMe) 
 
-else:
+elif name2 ==None:
        result = re.match('[a-zA-z-% ]*$', name)
 
        if result == None:
                everyPage.bad()
        else:   
-               printMe  = askQuestion.search_name(name,'<br>')
+               printMe  = \
+               aQ.search_name(name,'<br>')[0]
                if len(printMe)<10:
                        printMe =  'sorry, no data <br>'
 
+               printMe = printMe + '<br>' + oneSearch + pairSearch
                everyPage.good(printMe)
 
 
+else:
+
+       [out1,names1,IDs1] = aQ.search_name(name,'<br>')
+       [out2,names2,IDs2] = aQ.search_name(name2,'<br>')
+
+       printMe = \
+       "<form id='chooseList' action = 'ancestors.py' method = 'get'>"+\
+       make_drop_down(1,IDs1,names1)+\
+       "<br>"+\
+       make_drop_down(2,IDs2,names2)+\
+       "<br><button type = 'submit'>Search</button><br><br>"+\
+       "</form>"+\
+       oneSearch+ pairSearch
+
+       everyPage.good(printMe)
+
 everyPage.bottom(conn)
+