Changeset 70028 in webkit
- Timestamp:
- Oct 18, 2010 10:35:14 PM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r70025 r70028 1 2010-10-18 Eric Seidel <eric@webkit.org> 2 3 Reviewed by Adam Barth. 4 5 queues.webkit.org/next_patch is always 404 6 https://bugs.webkit.org/show_bug.cgi?id=47881 7 8 With the addition of the Queue class, I changed most of the 9 code to lookup WorkItems using get_or_insert with a key_name 10 instead of WorkItems.all().filter(queue_name=). 11 Because the new get_or_insert code uses an explicit key_name 12 (which is obviously different from the previously autogenerated 13 ones), there were new WorkItem records created for each queue. 14 However, some parts of the code still use WorkItems.all().filter, 15 thus some parts were getting the new record and some parts the old record. 16 17 The same basic bug was occurring with ActiveWorkItems, because I 18 changed the key_name for that class as well. 19 20 To fix this I've moved more of the code over to using Queue.*work_items. 21 I've also enabled the datastore_admin (new in GAE 1.3.8) so that 22 we can go delete the old WorkItems records. 23 I also changed remote_api to use the new builtin: syntax (also added in GAE 1.3.8). 24 25 * QueueStatusServer/app.yaml: 26 * QueueStatusServer/handlers/queuestatus.py: 27 * QueueStatusServer/handlers/recentstatus.py: 28 * QueueStatusServer/handlers/updatestatus.py: 29 * QueueStatusServer/handlers/updateworkitems.py: 30 1 31 2010-10-18 Eric Seidel <eric@webkit.org> 2 32 -
trunk/WebKitTools/QueueStatusServer/app.yaml
r67290 r70028 4 4 api_version: 1 5 5 6 builtins: 7 - datastore_admin: on 8 - remote_api: on 9 6 10 handlers: 7 11 - url: /stylesheets 8 12 static_dir: stylesheets 9 13 10 - url: /remote_api11 script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py12 login: admin13 14 14 - url: /.* 15 15 script: main.py -
trunk/WebKitTools/QueueStatusServer/handlers/queuestatus.py
r70019 r70028 38 38 39 39 class QueueStatus(webapp.RequestHandler): 40 def _rows_for_work_items(self, queued_items, active_items): 40 def _rows_for_work_items(self, queue): 41 queued_items = queue.work_items() 42 active_items = queue.active_work_items() 41 43 if not queued_items: 42 44 return [] … … 57 59 return 58 60 59 queued_items = WorkItems.all().filter("queue_name =", queue.name()).get()60 active_items = ActiveWorkItems.all().filter("queue_name =", queue.name()).get()61 statuses = queuestatus.QueueStatus.all().filter("queue_name =", queue.name()).order("-date").fetch(15)62 63 61 status_groups = [] 64 62 last_patch_id = None 65 63 synthetic_patch_id_counter = 0 66 64 65 statuses = queuestatus.QueueStatus.all().filter("queue_name =", queue.name()).order("-date").fetch(15) 67 66 for status in statuses: 68 67 patch_id = status.active_patch_id … … 77 76 template_values = { 78 77 "display_queue_name": queue.display_name(), 79 "work_item_rows": self._rows_for_work_items(queue d_items, active_items),78 "work_item_rows": self._rows_for_work_items(queue), 80 79 "status_groups": status_groups, 81 80 } -
trunk/WebKitTools/QueueStatusServer/handlers/recentstatus.py
r70006 r70028 41 41 def __init__(self, queue): 42 42 self._queue = queue 43 self._work_items = WorkItems.all().filter("queue_name =", queue.name()).get()43 self._work_items = queue.work_items() 44 44 self._last_status = QueueStatus.all().filter("queue_name =", queue.name()).order("-date").get() 45 45 -
trunk/WebKitTools/QueueStatusServer/handlers/updatestatus.py
r70019 r70028 70 70 if not queue_status.is_retry_request(): 71 71 return 72 active_items = ActiveWorkItems.all().filter("queue_name =", queue_status.queue_name).get() 73 if not active_items: 74 return 72 active_items = queue_status.queue.active_work_items() 73 # FIXME: This should move onto the ActiveWorkItems class. 75 74 return db.run_in_transaction(self._expire_item, active_items.key(), queue_status.active_patch_id) 76 75 -
trunk/WebKitTools/QueueStatusServer/handlers/updateworkitems.py
r70025 r70028 41 41 self.response.out.write(template.render("templates/updateworkitems.html", None)) 42 42 43 def _work_items_for_queue(self, queue):44 work_items = WorkItems.all().filter("queue_name =", queue.name()).get()45 if not work_items:46 work_items = WorkItems()47 work_items.queue = queue48 return work_items49 50 43 def _parse_work_items_string(self, items_string): 51 44 # Our parsing could be much more robust. … … 60 53 return None 61 54 62 work_items = self._work_items_for_queue(queue)63 if not work_items:64 return None65 55 items_string = self.request.get("work_items") 56 work_items = queue.work_items() 66 57 work_items.item_ids = self._parse_work_items_string(items_string) 67 58 work_items.date = datetime.now()
Note: See TracChangeset
for help on using the changeset viewer.