--- 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)