Created Individual EWS Pages
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Aug 2017 01:24:25 +0000 (01:24 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Aug 2017 01:24:25 +0000 (01:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=174477

Patch by obinna obike <oobike@apple.com> on 2017-08-08
Reviewed by Aakash Jain.

Created individual pages for each EWS. Changed the link within each status bubble
to go directly to the individual EWS page. Also added a link to original status page showing all EWSes.

* QueueStatusServer/handlers/patch.py:
(Patch.get): Handles the case for individual ews queue as well as for all EWS queues.
* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble): Updated url for specific EWS.
* QueueStatusServer/main.py: Added a link to the individual ews in the routes dictionary.
* QueueStatusServer/templates/patch.html: Added a link to go directly to the page with
all ews queues.
* QueueStatusServer/templates/statusbubble.html: If you click on a statusbubble it
takes you directly to the individual ews page.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/QueueStatusServer/handlers/patch.py
Tools/QueueStatusServer/handlers/statusbubble.py
Tools/QueueStatusServer/main.py
Tools/QueueStatusServer/templates/patch.html
Tools/QueueStatusServer/templates/statusbubble.html

index fd657c0111f52ebde2f652fb262d5a240f7b8b98..41af31c4c3f6faaa0feafd0685c0229d7457ae49 100644 (file)
@@ -1,3 +1,23 @@
+2017-08-08  obinna obike  <oobike@apple.com>
+
+        Created Individual EWS Pages
+        https://bugs.webkit.org/show_bug.cgi?id=174477
+
+        Reviewed by Aakash Jain.
+
+        Created individual pages for each EWS. Changed the link within each status bubble
+        to go directly to the individual EWS page. Also added a link to original status page showing all EWSes.
+
+        * QueueStatusServer/handlers/patch.py:
+        (Patch.get): Handles the case for individual ews queue as well as for all EWS queues.
+        * QueueStatusServer/handlers/statusbubble.py:
+        (StatusBubble._build_bubble): Updated url for specific EWS.
+        * QueueStatusServer/main.py: Added a link to the individual ews in the routes dictionary.
+        * QueueStatusServer/templates/patch.html: Added a link to go directly to the page with
+        all ews queues.
+        * QueueStatusServer/templates/statusbubble.html: If you click on a statusbubble it
+        takes you directly to the individual ews page.
+
 2017-08-08  Stephan Szabo  <stephan.szabo@sony.com>
 
         Separate jsc stress test script writer from run-jsc-stress-tests
index 2921f9a4d0a42c614b8949761dca640cccf7af0b..f52780232536173737f3045b6c151f24be21764e 100644 (file)
@@ -33,7 +33,7 @@ from model.queuestatus import QueueStatus
 
 
 class Patch(webapp.RequestHandler):
-    def get(self, attachment_id_string):
+    def get(self, attachment_id_string, queue_name=None):
         attachment_id = int(attachment_id_string)
         statuses = QueueStatus.all().filter("active_patch_id =", attachment_id).order("-date")
 
@@ -41,9 +41,10 @@ class Patch(webapp.RequestHandler):
         queue_status = {}
         for status in statuses:
             bug_id = status.active_bug_id # Should be the same for every status.
-            per_queue_statuses = queue_status.get(status.queue_name, [])
-            per_queue_statuses.append(status)
-            queue_status[status.queue_name] = per_queue_statuses
+            if status.queue_name == queue_name or queue_name is None:
+                per_queue_statuses = queue_status.get(status.queue_name, [])
+                per_queue_statuses.append(status)
+                queue_status[status.queue_name] = per_queue_statuses
         queue_status = sorted(queue_status.items())
         template_values = {
             "attachment_id" : attachment_id,
index 38bac0399e3043730671527e40d34f153dbac4f0..4eab93bcb86542de99b72d524ef43fc9457a47d2 100644 (file)
@@ -113,6 +113,7 @@ class StatusBubble(webapp.RequestHandler):
         bubble = {
             "name": queue.short_name().lower(),
             "attachment_id": attachment.id,
+            "queue_name": queue.name(),
         }
         # 10 recent statuses is enough to always include a resultative one, if there were any at all.
         statuses = QueueStatus.all().filter('queue_name =', queue.name()).filter('active_patch_id =', attachment.id).order('-date').fetch(limit=10)
index a16261e84587b29c0db23575c9fda3635b9882dc..085cdba37b62ae25ffa1bdb2c2c8991f1b32ae49 100644 (file)
@@ -64,6 +64,7 @@ routes = [
     ('/gc', GC),
     ('/sync-queue-logs', SyncQueueLogs),
     (r'/patch-status/(.*)/(.*)', PatchStatus),
+    (r'/patch/(.*)/(.*)', Patch),
     (r'/patch/(.*)', Patch),
     ('/submit-to-ews', SubmitToEWS),
     (r'/results/(.*)', ShowResults),
index fe4cb0f167cff06ad8990e24bb699f14b11343af..0af28dedf0da3f80132b52579b55746f96e5a37a 100644 (file)
@@ -7,7 +7,11 @@
 <body>
 <h1>
   Patch {{ attachment_id|force_escape|webkit_attachment_id|safe }} (Bug {{ bug_id|force_escape|webkit_bug_id|safe }})
-</h1>{% for queue_name, statuses in queue_status %}
+</h1>
+{% if queue_status|length == 0 %}
+<p>Waiting in Queue, Processing has not started yet.</p>
+{% endif %}
+{% for queue_name, statuses in queue_status %}
 <div class="status-details">
   <h2>{{ queue_name }}</h2>
   <ul>{% for status in statuses %}
@@ -19,4 +23,8 @@
     </li>{% endfor %}
   </ul>
 </div>{% endfor %}
+{% if queue_status|length <= 1 %}
+<br>
+<a href="/patch/{{ attachment_id }}">All EWS Queues</a>
+{% endif %}
 </html>
index 91eb76ae080b33675466847b09584f5e8f724693..d90bb0848891f362d3e412e5d690ca3e32fabafd 100644 (file)
@@ -77,7 +77,7 @@ window.addEventListener("message", function(e) {
   {% else %}
   {% for bubble in bubbles %}
   <a class="status {{ bubble.state }}" target="_top"
-      href="/patch/{{ bubble.attachment_id }}"
+      href="/patch/{{ bubble.attachment_id }}/{{ bubble.queue_name }}"
   {% if bubble.details_message %}
       title="{{ bubble.details_message }}"
   {% endif %}