Switch to side-by-side view

--- a/OSSEval/analysis/views.py
+++ b/OSSEval/analysis/views.py
@@ -8,8 +8,8 @@
 from xml.dom import minidom
 
 from forms import AnalysisForm, UploadFileForm, ImportChoice
-from analysis.models import Analysis, Configuration, Instance, UploadedFile, Answer
-from methodology.models import Methodology, MethodologyVersion, Question, Page
+from analysis.models import Analysis, Configuration, Instance, UploadedFile, Answer, Methodology, MethodologyVersion, Question, Page
+#from methodology.models import Methodology, MethodologyVersion, Question, Page
 from OSSEval.utils import xmlMinidom, TrivialJSONEncoder, SearchEngine
 
 def analysis_new(request, analysis_id=0):
@@ -59,8 +59,12 @@
 
 def analysis_report(request, analysis_id):
     analysis = get_object_or_404(Analysis, pk=analysis_id)
-
-    return render(request, 'analysis/analysis_report.html', {'analysis': analysis})
+    analysis.calculate_scores()
+#     print "I am in view 'analysis_report'; page: " + analysis.methodology_version.page_set.all()[0].name
+#     print "has radar_chart: " + analysis.methodology_version.page_set.all()[0].radar_chart[:100]
+#     print "has pippo: " + analysis.methodology_version.page_set.all()[0].pippo
+    td_width = 100 / (1 + len(analysis.instance_set.all())) 
+    return render(request, 'analysis/analysis_report.html', {'analysis': analysis, 'td_width': td_width})
 
 def save_answer(request):
     try:
@@ -105,24 +109,24 @@
     for question in list_of_questions:
         description = ""
         value = -1
+        #run queries on search engine
+        for query in question.query_set.all():
+            description=""
+            # eval_text defines the variable "description"
+            exec(query.eval_text)
+            sites = []
+            # eval_site defines the variable "sites"
+            exec(query.eval_site)
+            search_count = str(SearchEngine.search_count(q, sites))
+            search_url = SearchEngine.search_url(q, sites)
+            search_engine_name = SearchEngine.search__engine_name()
+            description += "<a target='_blank' href='" + search_url + "'>'" + SearchEngine.readable_query(q, sites) + "' on " + search_engine_name + ": (" + search_count + " results)</a><br>"
+        # eval_description and eval_value might use the results from the above queries so have to be run after them 
         exec(question.eval_description)
         exec(question.eval_value)
-        #run queries on search engine
-        for query in question.query_set.all():
-            site = ""
-            print query.eval_text
-            exec(query.eval_text)
-            print q
-            print query.eval_site
-            exec(query.eval_site)
-            print site
-            search_count = str(SearchEngine.search_count(q, site))
-            search_url = SearchEngine.search_url(q, site)
-            print "get_metadata search_url: " + search_url
-            search_engine_name = SearchEngine.search__engine_name()
-            description += "<a target='_blank' href='" + search_url + "'>'" + SearchEngine.readable_query(q, site) + "' on " + search_engine_name + ": (" + search_count + " results)</a><br>"
         q = {}
         q["question_id"] = question.id
+        print "question.id: " + str(question.id)
         q["description"] = description
         q["value"] = value
         metadata.append(q)