[LNT] r240654 - Retain URL query string parameters on prev and next links on daily report page.

Kristof Beyls kristof.beyls at arm.com
Thu Jun 25 08:38:00 PDT 2015


Author: kbeyls
Date: Thu Jun 25 10:38:00 2015
New Revision: 240654

URL: http://llvm.org/viewvc/llvm-project?rev=240654&view=rev
Log:
Retain URL query string parameters on prev and next links on daily report page.


Modified:
    lnt/trunk/lnt/server/reporting/dailyreport.py
    lnt/trunk/lnt/server/ui/templates/reporting/daily_report.html

Modified: lnt/trunk/lnt/server/reporting/dailyreport.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/reporting/dailyreport.py?rev=240654&r1=240653&r2=240654&view=diff
==============================================================================
--- lnt/trunk/lnt/server/reporting/dailyreport.py (original)
+++ lnt/trunk/lnt/server/reporting/dailyreport.py Thu Jun 25 10:38:00 2015
@@ -1,5 +1,6 @@
 import datetime
 import re
+import urllib
 
 import sqlalchemy.sql
 
@@ -77,8 +78,9 @@ class DailyReport(object):
         self.day_start_offset = datetime.timedelta(
             hours=day_start_offset_hours)
         self.for_mail = for_mail
+        self.filter_machine_regex_str = filter_machine_regex
         self.filter_machine_re = None
-        if filter_machine_regex:
+        if self.filter_machine_regex_str:
             try:
                 self.filter_machine_re = re.compile(filter_machine_regex)
             except re.error:
@@ -93,6 +95,20 @@ class DailyReport(object):
         self.reporting_tests = None
         self.result_table = None
 
+    def get_query_parameters_string(self):
+        query_params = [
+            "{}={}".format(
+                urllib.quote_plus(query_param), urllib.quote_plus(str(value)))
+            for query_param, value in (
+                ("day_start", self.day_start_offset.seconds / 3600),
+                ("num_days", self.num_prior_days_to_include),
+                ("filter-machine-regex", self.filter_machine_regex_str),)
+            if value is not None]
+        # Use & instead of plain & to make sure legal XML is
+        # produced, so that the unit tests can parse the output using
+        # python's built-in XML parser.
+        return "&".join(query_params)
+
     def get_key_run(self, machine, day_index):
         """
         get_key_run(machine, day_index) -> Run or None

Modified: lnt/trunk/lnt/server/ui/templates/reporting/daily_report.html
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/reporting/daily_report.html?rev=240654&r1=240653&r2=240654&view=diff
==============================================================================
--- lnt/trunk/lnt/server/ui/templates/reporting/daily_report.html (original)
+++ lnt/trunk/lnt/server/ui/templates/reporting/daily_report.html Thu Jun 25 10:38:00 2015
@@ -8,20 +8,18 @@
 <body style="{{ styles['body'] }}">
 {% endif %}
 
-{% set hour_offset = report.day_start_offset.seconds // 3600 %}
-
 <center><h2>{#
   #}(<a href="{{ts_url}}/daily_report/{{
                  report.prior_days[1].year}}/{{
                  report.prior_days[1].month}}/{{
-                 report.prior_days[1].day}}?day_start={{
-		 hour_offset
+                 report.prior_days[1].day}}?{{
+		 report.get_query_parameters_string()
 		 }}">prev</a>){#
   #}<b> <a href="{{ts_url}}/daily_report/{{
                  report.prior_days[0].year}}/{{
                  report.prior_days[0].month}}/{{
-                 report.prior_days[0].day}}?day_start={{
-		 hour_offset
+                 report.prior_days[0].day}}?{{
+		 report.get_query_parameters_string()
 		 }}">{#
         #}Daily Report {{ '%04d-%02d-%02d' % (
           report.prior_days[0].year, report.prior_days[0].month,
@@ -29,12 +27,12 @@
   #}(<a href="{{ts_url}}/daily_report/{{
                  report.next_day.year}}/{{
                  report.next_day.month}}/{{
-                 report.next_day.day}}?day_start={{
-		 hour_offset
+                 report.next_day.day}}?{{
+		 report.get_query_parameters_string()
 		 }}">next</a>){#
 #}</h2>
 (day start is considered to be at UTC+{{ "%02d:%02d" % (
-    hour_offset,
+    report.day_start_offset.seconds // 3600,
     (report.day_start_offset.seconds // 60) % 60,)}})
 </center>
 





More information about the llvm-commits mailing list