Tools/ChangeLog

 12017-07-19 obinna obike <oobike@apple.com>
 2
 3 Created Individual EWS Pages
 4 https://bugs.webkit.org/show_bug.cgi?id=174477
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 * QueueStatusServer/handlers/patch.py:
 9 (Patch.get):
 10 * QueueStatusServer/handlers/statusbubble.py:
 11 (StatusBubble._build_message_for_provisional_failure):
 12 (StatusBubble._build_bubble):
 13 * QueueStatusServer/main.py:
 14 * QueueStatusServer/templates/patch.html:
 15 * QueueStatusServer/templates/statusbubble.html:
 16
1172017-07-19 Chris Dumez <cdumez@apple.com>
218
319 Unreviewed attempt to fix API test failure after r219663.
219668

Tools/QueueStatusServer/main.py

@@routes = [
6464 ('/gc', GC),
6565 ('/sync-queue-logs', SyncQueueLogs),
6666 (r'/patch-status/(.*)/(.*)', PatchStatus),
 67 (r'/patch/(.*)/(.*)', Patch),
6768 (r'/patch/(.*)', Patch),
6869 ('/submit-to-ews', SubmitToEWS),
6970 (r'/results/(.*)', ShowResults),
219533

Tools/QueueStatusServer/handlers/patch.py

@@from model.queuestatus import QueueStatu
3333
3434
3535class Patch(webapp.RequestHandler):
36  def get(self, attachment_id_string):
 36 def get(self, attachment_id_string, queue_name=None):
3737 attachment_id = int(attachment_id_string)
3838 statuses = QueueStatus.all().filter("active_patch_id =", attachment_id).order("-date")
3939

@@class Patch(webapp.RequestHandler):
4141 queue_status = {}
4242 for status in statuses:
4343 bug_id = status.active_bug_id # Should be the same for every status.
44  per_queue_statuses = queue_status.get(status.queue_name, [])
45  per_queue_statuses.append(status)
46  queue_status[status.queue_name] = per_queue_statuses
47 
 44 if queue_name is None:
 45 per_queue_statuses = queue_status.get(status.queue_name, [])
 46 per_queue_statuses.append(status)
 47 queue_status[status.queue_name] = per_queue_statuses
 48 else:
 49 if status.queue_name == queue_name:
 50 per_queue_statuses = queue_status.get(status.queue_name, [])
 51 per_queue_statuses.append(status)
 52 queue_status[status.queue_name] = per_queue_statuses
 53 queue_status = sorted(queue_status.items())
4854 template_values = {
4955 "attachment_id" : attachment_id,
5056 "bug_id" : bug_id,
219533

Tools/QueueStatusServer/handlers/statusbubble.py

@@class StatusBubble(webapp.RequestHandler
8888 message = latest_resultative_status.message + "."
8989 if is_active:
9090 if tree_is_red:
91  message += "\n\nTrying again now."
 91 message = "\n\nhttps://build.webkit.org/dashboard/"
9292 else:
9393 message += "\n\nThis result is not final, as the issue could be a pre-existing one. Trying to determine that now."
9494 if try_count == 1:

@@class StatusBubble(webapp.RequestHandler
113113 bubble = {
114114 "name": queue.short_name().lower(),
115115 "attachment_id": attachment.id,
 116 "queue_name": queue.name(),
116117 }
117118 # 10 recent statuses is enough to always include a resultative one, if there were any at all.
118119 statuses = QueueStatus.all().filter('queue_name =', queue.name()).filter('active_patch_id =', attachment.id).order('-date').fetch(limit=10)
219533

Tools/QueueStatusServer/templates/patch.html

77<body>
88<h1>
99 Patch {{ attachment_id|force_escape|webkit_attachment_id|safe }} (Bug {{ bug_id|force_escape|webkit_bug_id|safe }})
10 </h1>{% for queue_name, statuses in queue_status.items %}
 10</h1>
 11{% if queue_status|length == 0 %}
 12<h2> Waiting in Queue, Processing has not started yet <h2>
 13{% endif %}
 14{% for queue_name, statuses in queue_status %}
1115<div class="status-details">
1216 <h2>{{ queue_name }}</h2>
1317 <ul>{% for status in statuses %}
219533

Tools/QueueStatusServer/templates/statusbubble.html

@@window.addEventListener("message", funct
7777 {% else %}
7878 {% for bubble in bubbles %}
7979 <a class="status {{ bubble.state }}" target="_top"
80  href="/patch/{{ bubble.attachment_id }}"
 80 href="/patch/{{ bubble.attachment_id }}/{{ bubble.queue_name }}"
8181 {% if bubble.details_message %}
8282 title="{{ bubble.details_message }}"
8383 {% endif %}
219533