OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Skia Telemetry pages.""" | 5 """Skia Telemetry pages.""" |
6 | 6 |
7 | 7 |
| 8 import base64 |
8 import datetime | 9 import datetime |
9 import json | 10 import json |
10 import urllib2 | 11 import urllib2 |
11 | 12 |
12 from google.appengine.ext import db | 13 from google.appengine.ext import db |
13 | 14 |
14 from base_page import BasePage | 15 from base_page import BasePage |
15 import utils | 16 import utils |
16 | 17 |
17 | 18 |
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
557 admin_tasks = AdminTasks.get_all_admin_tasks_of_user(self.user.email()) | 558 admin_tasks = AdminTasks.get_all_admin_tasks_of_user(self.user.email()) |
558 template_values['admin_tasks'] = admin_tasks | 559 template_values['admin_tasks'] = admin_tasks |
559 template_values['pageset_types'] = PAGESET_TYPES | 560 template_values['pageset_types'] = PAGESET_TYPES |
560 chromium_builds = ChromiumBuilds.get_all_completed_chromium_builds() | 561 chromium_builds = ChromiumBuilds.get_all_completed_chromium_builds() |
561 template_values['chromium_builds'] = chromium_builds | 562 template_values['chromium_builds'] = chromium_builds |
562 template_values['oldest_pending_task_key'] = get_oldest_pending_task_key() | 563 template_values['oldest_pending_task_key'] = get_oldest_pending_task_key() |
563 | 564 |
564 self.DisplayTemplate('admin_tasks.html', template_values) | 565 self.DisplayTemplate('admin_tasks.html', template_values) |
565 | 566 |
566 | 567 |
567 def _AddLuaTask(request, username): | 568 def _AddLuaTask(request, username, lua_script, lua_aggregator): |
568 requested_time = datetime.datetime.now() | 569 requested_time = datetime.datetime.now() |
569 lua_script = db.Text(request.get('lua_script')) | 570 lua_script = db.Text(lua_script) |
570 lua_aggregator = db.Text(request.get('lua_aggregator')) | 571 lua_aggregator = db.Text(lua_aggregator) |
571 description = request.get('description') | 572 description = request.get('description') |
572 pagesets_type, chromium_rev, skia_rev = request.get( | 573 pagesets_type, chromium_rev, skia_rev = request.get( |
573 'pagesets_type_and_chromium_build').split('-') | 574 'pagesets_type_and_chromium_build').split('-') |
574 if not description: | 575 if not description: |
575 description = 'None' | 576 description = 'None' |
576 | 577 |
577 LuaTasks( | 578 LuaTasks( |
578 username=username, | 579 username=username, |
579 lua_script=lua_script, | 580 lua_script=lua_script, |
580 lua_aggregator=lua_aggregator, | 581 lua_aggregator=lua_aggregator, |
581 pagesets_type=pagesets_type, | 582 pagesets_type=pagesets_type, |
582 chromium_rev=chromium_rev, | 583 chromium_rev=chromium_rev, |
583 skia_rev=skia_rev, | 584 skia_rev=skia_rev, |
584 requested_time=requested_time, | 585 requested_time=requested_time, |
585 description=description).put() | 586 description=description).put() |
586 | 587 |
587 | 588 |
588 class AddLuaTask(BasePage): | 589 class AddLuaTask(BasePage): |
589 """Adds the specified lua task.""" | 590 """Adds the specified lua task.""" |
590 @utils.admin_only | 591 @utils.admin_only |
591 def post(self): | 592 def post(self): |
592 _AddLuaTask(self.request, self.request.get('username')) | 593 username = self.request.get('username') |
| 594 lua_script = urllib2.unquote(base64.b64decode( |
| 595 self.request.get('lua_script'))) |
| 596 lua_aggregator = urllib2.unquote(base64.b64decode( |
| 597 self.request.get('lua_aggregator'))) |
| 598 _AddLuaTask(self.request, username, lua_script, lua_aggregator) |
593 | 599 |
594 | 600 |
595 class LuaScriptPage(BasePage): | 601 class LuaScriptPage(BasePage): |
596 """Displays the lua script page.""" | 602 """Displays the lua script page.""" |
597 | 603 |
598 @utils.require_user | 604 @utils.require_user |
599 def get(self): | 605 def get(self): |
600 return self._handle() | 606 return self._handle() |
601 | 607 |
602 @utils.require_user | 608 @utils.require_user |
603 def post(self): | 609 def post(self): |
604 # Check if this is a delete lua task request. | 610 # Check if this is a delete lua task request. |
605 delete_key = self.request.get('delete') | 611 delete_key = self.request.get('delete') |
606 if delete_key: | 612 if delete_key: |
607 LuaTasks.delete_lua_task(delete_key) | 613 LuaTasks.delete_lua_task(delete_key) |
608 self.redirect('lua_script') | 614 self.redirect('lua_script') |
609 return | 615 return |
610 | 616 |
611 # It is an add lua task request. | 617 # It is an add lua task request. |
612 _AddLuaTask(self.request, self.user.email()) | 618 lua_script = self.request.get('lua_script') |
| 619 lua_aggregator = self.request.get('lua_aggregator') |
| 620 _AddLuaTask(self.request, self.user.email(), lua_script, lua_aggregator) |
613 self.redirect('lua_script') | 621 self.redirect('lua_script') |
614 | 622 |
615 def _handle(self): | 623 def _handle(self): |
616 """Sets the information to be displayed on the main page.""" | 624 """Sets the information to be displayed on the main page.""" |
617 template_values = self.InitializeTemplate(TEMPLATES_TITLE) | 625 template_values = self.InitializeTemplate(TEMPLATES_TITLE) |
618 | 626 |
619 add_telemetry_info_to_template(template_values, self.user.email(), | 627 add_telemetry_info_to_template(template_values, self.user.email(), |
620 self.is_admin) | 628 self.is_admin) |
621 | 629 |
622 lua_tasks = LuaTasks.get_all_lua_tasks_of_user(self.user.email()) | 630 lua_tasks = LuaTasks.get_all_lua_tasks_of_user(self.user.email()) |
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 completed_time=datetime.datetime.now()).put() | 1266 completed_time=datetime.datetime.now()).put() |
1259 | 1267 |
1260 if db.GqlQuery('SELECT __key__ FROM AdminTasks').get() is None: | 1268 if db.GqlQuery('SELECT __key__ FROM AdminTasks').get() is None: |
1261 AdminTasks( | 1269 AdminTasks( |
1262 username='Admin', | 1270 username='Admin', |
1263 task_name='Initial Table Creation', | 1271 task_name='Initial Table Creation', |
1264 pagesets_type='Test type', | 1272 pagesets_type='Test type', |
1265 requested_time=datetime.datetime.now(), | 1273 requested_time=datetime.datetime.now(), |
1266 completed_time=datetime.datetime.now()).put() | 1274 completed_time=datetime.datetime.now()).put() |
1267 | 1275 |
OLD | NEW |